本篇是关于Android的一些界面组件的使用,其中包括TextView、EditText、Button、RadioButton、CheckButton。
1、TextView 继承自View,功能是显示文本内容。
2、EditText继承自TextView。定义在android.widget.EditText中。功能:向用户显示文本内容,并可以对文本进行编辑
3、Button属性继承自textview和view类,当需要按钮响应单击事件时,可以继承OnClickListener接口,也可以在按钮属性里定义该方法,android:onClick=“methodname”,该method的是public void类型的,参数为View类型。
例子:
界面代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Input your name and password"
android:textColor="#6cf"
android:textSize="16sp" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10" >
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="submit"
android:textColor="#00ff00"
android:onClick="onClick" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
那个,java的代码:
public class MainActivity extends Activity {
public TextView textView=null;
public EditText name=null;
public EditText pwd=null;
public String s="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化textView2,随后我们使用该组件显示输入的内容
textView=(TextView)findViewById(R.id.textView2);
//实例化editText1,随后我们获取该组件显示输入的内容
name=(EditText)findViewById(R.id.editText1);
//实例化editText2,随后我们获取该组件显示输入的内容
pwd=(EditText)findViewById(R.id.editText2);
}
public void onClick(View view)
{
//获取editText1、editText2输入的内容(用户名和密码)
s="name is:"+name.getText().toString()+";password is:"+
pwd.getText().toString();
//使用getText()可以获得View组件所显示的字体
textView.setText(s);
//使用setText()可以设置View组件所显示的字体
}
}
然后,做出来的效果是这样的:
4、组件RadioButton与CheckBox都继承自CompoundButton中
一组单选按钮(RadioButton)需要编组,编到一个RadioGroup中
而CheckBox是选择框,不需要编组,可以多选
下面是例子:界面:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别:" />
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="男:" />
<RadioButton
android:id="@+id/woman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女:" />
</RadioGroup>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="爱好 " />
<CheckBox
android:id="@+id/sports"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="运动:" />
<CheckBox
android:id="@+id/music"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="音乐:" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="subimit"
android:onClick="提交" />
<TextView
android:id="@+id/results"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
处理事件的相关java代码:
public class MainActivity extends Activity {
public TextView results = null;
public RadioButton man = null;
public RadioButton woman = null;
public CheckBox sports = null;
public CheckBox music = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 通过实例化单选按钮、复选按钮等, 当用户单击submit按钮时,通过View类的getText()方法
* 获取每一个实例化后的组件显示文本,然后赋值给s 最后在result显示文本上使用setText(s)方法把获取的用户信息显示出来
* */
results = (TextView) findViewById(R.id.results);
man = (RadioButton) findViewById(R.id.man);
woman = (RadioButton) findViewById(R.id.woman);
sports = (CheckBox) findViewById(R.id.sports);
music = (CheckBox) findViewById(R.id.music);
}
public void onClicked(View view) {
String s = "Your informatin are :\n";
// 判断是不是选中了该按钮,单击按钮可能取消选择,也可能是选择
if (man.isChecked()) {
s = s + man.getText().toString()+"\n";
}
if (woman.isChecked()) {
s = s + woman.getText().toString()+"\n";
}
if (sports.isChecked()) {
s = s + sports.getText().toString()+"\n";
}
if (music.isChecked()) {
s = s + music.getText().toString()+"\n";
}
results.setText(s);
}
}
效果图: