一:基本控件
(1)基本控件概述
(2)基本控件开发
(3)常用控件介绍
1,基本控件概述
1、视图View的子类,作用可以定义各种不同外形的视图显示到界面给用户看
2、基本控件包括:button、textview、edittext、checkBox...
3、android中的基本控件配合多样化,可以根据不同需求来定义控件
2,基本控件开发
●一般情况下,我们可以通过修改layout中的文件来将控件添加到界面上,例如/res/layout/main.xml
◎直接文本的方式修改布局文件(xml文件)
◎通过sdk提供的graphic layout界面修改
●我们可以通过xml中修改某个属性的值来打到控制控件的表现形式
●我们可以在代码中获取这个控件的对象来修改它的属性
◎View在xml中必须配置了id
◎通过View findViewByid(int id);
●Android开发文档
◎http://developer.android.com/guide/basics/what-is-android.html
3,常用控件介绍
(1)TextView
●TextView组件主要用于静态文本的显示。android.widget.TextView类是android.view.View类的直接子类,这里注意TextView类并不在android.view包中,而是在android.widget包中,也就是说,我们在Aandroid中使用的具体视图组件,都是在android.widget包中的。
●TextView的属性
◎文字内容 android:text
◎字体大小android: textSize
◎字体颜色 android:textColor
◎字体样式 android:textStyle
◎其他属性见官方文档
XML代码:
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FDF5E6"
android:textSize="16dp"
android:text="这里是一个TextView视图组件" />
(2)Button
●Button组件是一个简单组件按钮,这里我们来进行深入的介绍。按钮的基本功能就是供用户点击,然后产生一些效果,比如Web开发中的登录按钮,点击之后即可实现登录效果。这里我们没有对Button的事件处理操作,还是简单的了解Button的配置。
●Button类是TextView类的子类,而不是直接继承自View类的。可以说Button是一个特殊的TextView。
XML代码:
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="15dp"
android:maxLength="14"
android:text="Button按钮"
android:textSize="12dp" />
从例子中可以很容易看出,Button组件的操作和TextView是基本一致的。最后我们来看看在程序中动态生成按钮,代码如下:
package org.ourpioneer;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
public class ButtonDemoActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
LinearLayout layout = (LinearLayout) super.findViewById(R.id.layout);
Button btn = new Button(this);
btn.setText("我是在程序中动态创建的按钮");
layout.addView(btn);
}
}
(3)EditText
●EditText就是Android中的文本输入框。前面介绍的TextView仅仅用于静态文本的显示,而需要用户进行输入的话,就需要使用EditText组件。
●和Button组件一样,EditText也是TextView的子类,可以看作是TextView类的扩展组件。那么我们开始编写EditText组件的代码:
XML代码:
<EditText
android:id="@+id/edit3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:text="password" />
这里我们加入了inputType属性,值设置为textPasswrod,那么也就是密码显示效果,文本就不会以明文效果显示出来了,而是使用原点来作为替代。
(4)ImageView
●在Android中,ImageView就是用于图片显示的。
●ImageView的继承结构并不复杂,它是View类的直接子类。
●通过OnclinkChangeListener监听变化
<ImageView
android:id="@+id/img"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:contentDescription="ImageView Demo"
android:src="@drawable/ic_launcher" />
代码非常的简单,ID就不多说了,然后设置长和宽,contentDescription是对图片的一个简要说明,最重要的src属性,也就是指定图片资源的位置。我们知道,Android项目中的图片资源统一位于res/drawable-xx文件夹内,不同的分辨率用于不同的设备,而我们只需通过@drawable/来调用图片资源即可。放置在drawable文件夹内的图片,会在R.java中自动注册,所以我们才能访问到其中的图片资源。
(5)RadioGroup和RadioButton
●在开发中,好多功能可以实现单选按钮,单选按钮主要用于多值选一的操作,比如性别的选择,仅能从“男”或“女”中选择,那么就可以使用单选按钮实现。那么在Android中实现单选就需要使用到RadioGroup和RadioButton两个视图组件,它们结合使用才能达到单选按钮的效果。
●RadioGroup是线性布局管理器LinearLayout的子类,那么也就说明,在RadioGroup中的组件是线性排列的,也就是说RadioButton线性排列在RadioGroup内。RadioGroup可以视为是RadioButton的容器
●RadioButton是Button类的间接子类,它直接继承自CompoundButton,这样的设计也是为了复选框Checkbox的设计提出公共的父类。
XML代码:
<TextView
android:id="@+id/genderLabel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请选择您的性别"
android:textSize="20dp" />
<RadioGroup
android:id="@+id/gender"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" ><span style="white-space:pre"> </span>//垂直效果为<span style="line-height: 16.8999996185303px; font-family: Helvetica, Arial, sans-serif;">vertical,</span><span style="line-height: 16.8999996185303px; font-family: Helvetica, Arial, sans-serif;">水平排列的效果修改RadioGroup的orientation为horizontal即可</span>
<RadioButton
android:id="@+id/male"
android:text="男" />
<RadioButton
android:id="@+id/female"
android:text="女" />
</RadioGroup>
对于TextView组件不做解释了,就是用于一个提示信息,之后我们定义了一个RadioGroup,设置这个组件的一些属性,这里我们设置ID和长宽信息。注意它是先行布局管理器的子类,是放置RadioButton的容器,那么这里我们这是一个orientation属性来规定RadioButton的排列方式,这里vertical表示纵垂直向排列。
效果图展示: