- TextView
修改布局如下:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="24sp"
android:textColor="#00ff00"
android:text="jian shu"/>
</LinearLayout>
- 在布局中添加TextView控件,它主要用于在界面上显示一段文本信息。
- android:id 是给当前的元素定义一个唯一的标识符,之后可以在代码中对这个元素进行操作。
- android:layout_width和android:layout_height指定了控件的宽度和高度,可选值有三种:match_parent、wrap_content和fill_parent,其中match_parent和fill_parent的意义相同,现在官方更加推荐使用 match_parent,match_parent 表示让当前的控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小,wrap_content 表示让当前控件的大小能包含住里面的内容,也就是由控件的内容决定控件的大小。
- android:gravity是用来指定文件的对齐方式,可选值有: top 、botton、left、right、center 等,可以用“ | ”来同时指定多个值,这里我们指定center , 表示文字在垂直和水平方向上都居中对齐,如果控件中不添加这个属性,那么布局就默认TextView中的文字居左上角对齐。
- android:textSize 和 android:textColor 表示更改TextView中文字的大小和颜色,Android的字体大小使用sp作为单位。
- android:text 表示TextView 中显示的内容。
运行程序,效果如下:
- Button
在布局中添加一个Button,如下:
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
android:textAllCaps="false"/>
- 其他属性在上面都已经介绍过了, android:textAllCaps 比较陌生,他的作用是对Button中的所有英文字母进行大小写转换的控制,如果不添加此书行,系统默认为进行大写转换。“false” 为禁用大写转换,
- 可以在MainActivity中添加一个监听器,代码如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "简书", Toast.LENGTH_SHORT).show();
}
});
}
} ```
点击Button按钮,效果如下图:
![图二](http://upload-images.jianshu.io/upload_images/6538308-c631ad9b15c6e9f6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3. EditText
同样在布局中添加这个控件,代码如下:
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Welcome"
android:maxLines="3"/>
- EditText 允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。
- android:hint 属性指定了一段提示文本。
- android:maxLines 指定了 EditText的最大行数,这里我们选最大3行,这样当输入的内容超过3行时,文本就会向上滚动,而 EditText 则不会向上拉伸。效果如下图:
![图三
![图四](http://upload-images.jianshu.io/upload_images/6538308-3c3e0cb3252fdeaf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
](http://upload-images.jianshu.io/upload_images/6538308-0c5fd937e1fe385f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4.ImageView
同样在布局中添加此控件:
<ImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"/>
- ImageView 是一个展示图片的控件。
- android:src为添加照片的属性,准备两张照片放在 drawable文件下。
我们可以动态的更改 ImageView 中的图片,通过修改MainActivity:
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
imageView = (ImageView) findViewById(R.id.image_view);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
imageView.setImageResource(R.drawable.image2);
}
});
}
}
运行程序,点击Button 后发现图片切换了,如下图:
![图五](http://upload-images.jianshu.io/upload_images/6538308-7b891cadb11d0f52.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![图六](http://upload-images.jianshu.io/upload_images/6538308-9b997ae924868403.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
5.ProgressBar
修改布局和MainActivity :
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
imageView = (ImageView) findViewById(R.id.image_view);
progressBar = (ProgressBar) findViewById(R.id.progress_bar);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
if (progressBar.getVisibility() == View.GONE) {
progressBar.setVisibility(View.VISIBLE);
} else {
progressBar.setVisibility(View.GONE);
}
}
});
}
}
效果如下图,可以通过点击Button按钮来控制进度条的显示。
![图七](http://upload-images.jianshu.io/upload_images/6538308-1acf451d429b53f0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)