Android之activity初讲

时间:2020-11-28 14:58:30

  前天我们已经成功创建了第一个Android项目,如果我要把软件推荐给我的第一个用户,毫无疑问是从界面开始介绍。因为即使你的程序算法再高效,架构再出色,用户根本不会在乎这些,他们一开始只会对看到的东西感兴趣,今天我们就学习了如何更换布局(layout)。

 当然今天主要讲的还是 activity 页面中 Button 按钮的一个点击事件。在 java 中 点击事件弹出消息直接在 js 中 写 alter 即可。但是在 Android 中没那么简单。昨天我们学习了 java 的内部类。在 Android 点击事件中,我们主要使用的是 匿名内部类( anonymous inner class)

  因为布局(layout)属于资源文件,所以我们直接在res—>layout—>右键—>new—>others—>Android—>Android XML Layout File —> next—>填写layout名称—>Finish

Android之activity初讲

Android之activity初讲

Android之activity初讲

下面给我们新new出的test1.xml部署一个button组件

Android之activity初讲

复制我们所添加组件的id

Android之activity初讲

  • android:layout_width 指定了当前元素的宽度
  • android:layout_height 指定了当前元素的高度  
  • android:text 指定了元素中显示的文字内容
  • wrap_content 表示当前元素的宽、高度只要能刚好包含里面的内容就行 

现在点击按钮没有任何的效果,因为我们还没有写事件,接下来就为按钮button1添加事件,有两种方法

1、MainActivity.java中添加匿名内部类

2、另写一个activity,然后再MainActivity.java中配置

通常情况下不建议在MainActivity.java写匿名内部类,因为所有的组键在MainActivity.java配置不好分析逻辑结构

下面是第二种方法MainActivity.java中写的配置及匿名内部类的注释

 package com.example.helloworld;

 import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast; public class Btn1ClickListener implements OnClickListener{ private Context context; public Btn1ClickListener(Context c) {
this.context = c;
} @Override
public void onClick(View arg0) {
Toast.makeText(context, "你很好 Android 1班", Toast.LENGTH_LONG).show();
} }
 package com.example.helloworld;

 import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity { private Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
// TextView tv1 = (TextView) this.findViewById(R.id.textView1);
// tv1.setText("你好,Android 1班"); this.setContentView(R.layout.test);//布局layout名称
btn1 = (Button) findViewById(R.id.button1);//组件所代表的id
btn1.setText("点我咯"); btn1.setOnClickListener(new Btn1ClickListener(this));//尽可能减少new代码,交给容器(后加Spring框架 /* btn1.setOnClickListener(new OnClickListener(){
//匿名内部类
public void onClick(View v){ Toast.makeText(MainActivity.this, "你好 Android 1班", Toast.LENGTH_LONG).show(); }
});*/
}
}

下面运行看看我们的成果吧Android之activity初讲

今天小主用的是夜神模拟器

Android之activity初讲

 菜鸟一枚的我,还在Android路上努力奔跑,各位大神多多指教喔!