一、TextView
android:layout_width和android:layout_height 。指定了宽度和高度,这是Android中所用控件都有的。有三种可选值:match_parent、fill_parent和wrap_content。match_parent和fill_parent 意义相同,都是让控件的大小和父布局一样大,也就是说由父布局来决定当前控件的大小。wrap_content 表示让当前控件能够刚好包含住里面的内容。还可以自己输入值来决定控件的大小 如:android:layout_width="200dp"。android:layout_height ="300dp";
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="25sp"
android:textColor="#97FFFF"
android:text="This is TextView"/>
android:gravity 用来指定文字的对齐方式,可选值有 top、bottom、left、right、center,还可以用“|”来指定多个值,center_vretical | center_horizontal 表示文字在垂直和水平方向上都居中显示。
android:textSize属性可以指定文字显示的大小,用sp作为单位。android:textColor 属性可以指定文字显示的颜色 如:#000000 表示黑色,#ffffff表示白色,值用十六进制表示。TextView的属性远不止这些 。
二、Button
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#4B0082"
android:textSize="30sp"
android:textAllCaps="false"
android:text="按钮"/>
因为系统会对Button中的所用英文字母自动转换为大写。android:textAllCaps则表示是否禁用这一默认特性。Button要能够有点击事件。可以在MainActivity中为Button的点击事件注册一个监听器。这样每当按钮时,就会执行监听器中的onClick()方法。而我们要做的就是在这个方法里面加入自己的逻辑就行了,如打开另一个界面等等。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
imageView.setImageResource(R.drawable.cai);
break;
default:
break;}}
三、EditText
EditText是程序用于和用户进行交互的一个重要的控件,它允许用户在控件里面输入和编辑内容并在程序中对这些内容进行处理,如发短信,QQ聊天等等。
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Type something here"
android:textColorHint="#000000"
android:maxLength="20"
android:textStyle="bold"
android:maxLines="3"/>
android:hint 用于显示一段提示性文本,当你输入内容时会自动消失。android:textColorHint 当文本为空时显示的颜色。android:maxLength 控制文本一行输入的最大值。android:textStyle设置字体的字形,如 bold 表示加粗,italic表示斜体。android:maxLines 用于控制最大行数。
四、ImageView
ImageView是用于在界面上展示图片的一个控件,用它可以让我们的界面更加丰富多彩。
<ImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxHeight="20dp"
android:maxWidth="20dp"
android:scaleType="center"
android:src="@drawable/yang2"
/>
android:maxHeight 用于指定图片的最大高度。android:maxWidth 用于指定图片的最大宽度。android:scaleType 用于指定图片的位置。android:src 设置ImageView所显示的Drawble对象的ID。
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(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
imageView.setImageResource(R.drawable.cai);
break;
default:
break;}}
五、ProgerssBar
ProgerssBar用于在屏幕上显示一个进度条,表示我们的一些程序正在加载当中。
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:visibility="gone"
android:max="100"
/>
android:style进度值。android:max最大进度值。android:visibility控件的可见属性,visible表示控件是可见的,invisible表示控件不可见但占据屏幕空间,gone表示控件不仅不可见而且不会占据屏幕空间。
六、ListView
由于手机屏幕空间有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有大量的数据需要展示的时候,就可以借助ListView来实现。ListView允许用户通过上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕。如看小说,刷微博等等。创建一个项目,然后修改activity_main.xml中的代码。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
就下来修改 MainActivity中的代码
public class MainActivity extends AppCompatActivity {
private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape"
,"Pineapple","Strawberry","Cherry","Mango",
"Apple","Banana","Orange","Watermelon","Pear","Grape"
,"Pineapple","Strawberry","Cherry","Mango",};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(
MainActivity.this,android.R.layout.simple_list_item_1,data);
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(adapter);
}
}
我们用data数组来测试的,不过数组中的数据是无法直接传递给ListView的,我们还需要借助适配器来完成。这里用到了ArrayAdapter
适配器,他可以通过泛型来指定要适配的数据类型,然后在构造方法中把要适配的数据传入, 数据data-->适配器-->显示。