金鞍玉勒寻芳客,未信我庐别有春。这篇文章主要讲述Android ch03 Activity_layout and Button 点击事件相关的知识,希望能为你提供帮助。
android 中的界面跳转,其实就是一个个的 Activity ,下面看下怎么创建新的 Activity 布局
在项目 res 里面的
layout文件夹上右键 new ->
Other ->
Android文件夹 下面的 ->
Android XML Layout File
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/20520AA3-0.jpg)
文章图片
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/2052061052-1.jpg)
文章图片
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/2052064136-2.jpg)
文章图片
Next 之后 然后 在 File 那里写文件名称, Root Element:里选个布局 ,然后 Finish 就创建成功
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/2052061627-3.jpg)
文章图片
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/20520B330-4.jpg)
文章图片
可以在 Form Widgets 中拖个 Button 按钮 过界面那里
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/2052061339-5.jpg)
文章图片
双击 Button 这个 按钮 会进入到 源码那里,会自动生成 有关 刚刚点击的 Button的界面布局代码
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/2052061347-6.jpg)
文章图片
然后就在 ManActivity 里加载这个资源布局 ,通过 setContentView 这个方法来加载 资源布局,传入 R.layout.test 这个布局
R.layout.test 其实就在 之前创建在 layout 里的 xml 文件 ,这样就可以加载布局了
public class MainActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); setContentView(R.layout.test); } }
然后 运行,加载成功
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/2052061G8-7.jpg)
文章图片
到这里,我想搞事情啦,点击 Button ,我发现什么效果都没,我想能和 javascript 一样弹出点信息出来一样,点了半天都没反应,javaScript 有点击事件,
这里也应该有吧,果然是有方法如下
方法一: 在 MainActivity 的方法 onCreate 里,通过 findViewById()方法找到布局里的控件,通过 Button 的 setOnClickListener() 方法传入个
事件监听的接口 OnClickListener 接口,这里采用的是匿名内部类的方法,实现 onClick(View v) 这个方法就可以啦
private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); setContentView(R.layout.test); btn1 = (Button) findViewById(R.id.testButton1); btn1.setText("点我"); btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { /** * Toast 类似与弹框一样的 * context : 上下文,指的是 Activity,所以写 MainActivity.this 就可以了 * text : 文本内容 * duration : 时间,int 类型数值 */ Toast.makeText(MainActivity.this, "你好 Android ", 1).show(); } }); }
然后 看看效果:
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/2052061611-8.jpg)
文章图片
方法二:
之前的步骤一样,差别在于,在 Button 的 setOnClickListener() 方法里传入的是一个实现类,
新建一个 类 去实现 OnClickListener 接口
public class Btn1ClickListener implements OnClickListener {private Context context; public Btn1ClickListener(Context context) { this.context = context; }@Override public void onClick(View v) { Toast.makeText(context, "你好 Android 1班", 1).show(); }}
就可以在 MainActivity 里直接用了
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); setContentView(R.layout.test); /* *//** * 第二种方法 */ btn1 = (Button) findViewById(R.id.testButton1); btn1.setText("点我"); // 直接 new 个实例出来 传入 content 就可以了 btn1.setOnClickListener(new Btn1ClickListener(this)); }
效果如下:
![Android ch03 Activity_layout and Button 点击事件](http://img.readke.com/220413/20520B095-9.jpg)
文章图片
【Android ch03 Activity_layout and Button 点击事件】
推荐阅读
- Android Fragment 参数传递与动态布局
- Android开发之Notification通知
- Android应用耗电问题排查
- Android退出app,后台推送的服务也停止了,怎么可以做到不停止后台服务呢?
- [Android Pro]判断Uri对应的ContentProvider所操作的数据库u存在,及DownloadManager的暂停,继续
- Android测试第二节Monkey工具
- android SystemServer.java启动的服务。
- Android-LogCat日志工具
- Android Runtime