放码过来
目标人群:没有基础的安卓初学者
知识点:Activity的概念, 基本的Java代码入门
目标:通过代码的方式修改布局中的文字内容和图片
简介
在实际的开发过程中,通过代码来修改控件属性的方式往往更为常见,同修改布局文件的方式相比,这种方式更加灵活。
本章会帮助大家在最短的时间内掌握如何使用简单的代码来修改页面中的文字等内容
本章内容需要少量Java基础,至少要了解对象的基本概念
正文
1.为activity_main.xml布局中的控件添加ID,添加ID后的格式应该类似这样
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
我们为文本控件和图片控件分别添加了android:id属性
2.找到并打开MainActivity.java,在页面中找到如下代码段
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
当该页面被系统创建时,这段名为onCreate的代码将被调用,我们要做的就是向这段代码中插入一些可以改变文字和颜色的代码,以保证当页面被创建后,布局中的文字和图片也会随之改变。
3.向onCreate代码段中加入代码,最后的效果如下
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到文字控件对象,并对文字内容进行设置
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText("你好,世界!");
//得到图片控件对象,并对图片资源进行设置
ImageView imageView = (ImageView) findViewById(R.id.imageView);
imageView.setImageResource(R.drawable.ic_launcher);
}
为了代码的整洁和优雅,应尝试将操作UI部分的代码统一提取出来作为一个单独的方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView(){
//得到文字控件对象,并对文字内容进行设置
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText("你好,世界!");
//得到图片控件对象,并对图片资源进行设置
ImageView imageView = (ImageView) findViewById(R.id.imageView);
imageView.setImageResource(R.drawable.ic_launcher);
}
4.重新Build你的项目,并在模拟器上运行的效果图应如下所示