3.23作业
任务2总结
通过任务2大致学习了TextView、EditView、Button、ImageView、CheckBox、RadioGroup、RadioButton等常用控件;也学习了一安卓常见的事件,如:onClick、onTouchEvent等事件;再到后来,简单的学习了菜单和对话框的使用方法;现在我来一一简单的总结一下各个的使用方法。
- 常用控件
- 常见事件
- 菜单对话框
- 总结
1.常用控件
TextView控件
TextView控件的功能主要向用户显示文本的内容,但是不允许编辑。它的主要常用的属性有android:id;android:layout_width;android:layout_height;android:text;android:textSize等常用控件。下面是例子:
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="头 像"
android:textSize="20sp"/>
可以通过xml中来修改某个属性的值来控制TextView控件的表现形式
EditView控件
EditView控件是TextView的子类,所以也具有TextView的属性特点,但是EditView比TextView多了几个常用的特点,android:hint设置编辑框内容为空时显示的提示信息;android:inputType设置文本的类型;android:digits设置允许输入哪些字符;android:ems设置控件的宽度为多少个字符等;下面是例子:
<EditText
android:id="@+id/edit_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:maxLength="40"
android:hint="请输入用户名"
android:ems="10"
android:textColorHint="#238745"/>
Button控件
Button也是非常重要的一个按钮控件,它常用的控件属性和上面的TextView、EditView控件属性差不多,比较重要的是一定不要忘记给Button按钮取id号,这是按钮唯一的名字。这样在程序中可以通过如下形式获得按钮:
button = (Button)findViewById(R.id.buttonId);
Button按钮最主要的两种处理方法:
第一种是通过onClick属性,通过这个属性设置处理点击事件的方法名,在Activity中实现这个方法;第二种方法是典型的事件监听机制的应用形式。
我先给出布局的代码
<Button
android:id="@+id/button_first"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/buttonText"
android:onClick="changeButtonColor"
>
</Button>
<Button
android:id="@+id/button_second"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/buttonText2"
android:layout_below="@id/button_first"
>
</Button>
以下是给两个按钮分别设置不同的单击事件
public class ButtonActivity extends Activity
{
private Button button01 = null;
private Button button02 = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
button01 = (Button)findViewById(R.id.button_first);
button02 = (Button)findViewById(R.id.button_second);
//绑定事件源和监听器对象
button02.setOnClickListener(new MyButtonListener());
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.activity_button, menu);
return true;
}
//按钮1的点击事件
public void changeButtonColor(View view)
{
button01.setBackgroundColor(getResources().getColor(R.color.red));
}
//实现OnClickListener接口
//作为第二个按钮的监听器类
class MyButtonListener implements OnClickListener
{
public void onClick(View v)
{
button02.setBackgroundColor(getResources().getColor(R.color.blue));
}
}
ImageView控件
ImageView控件是用于展示图片的控件,可以展示静态图片也能展示动态图片,但是要注意图片格式。这个控件中比较重要的属性是android:src,用于设置ImageView中展示什么图片,
需要注意的是,如果要使用图片,一定要将图片复制到相对应的drawable资源文件夹中,否则运行程序的时候回报错,而且要注意图片的名字最好是英文或数字
CheckBox控件
CheckBox控件和Button控件一样,按钮控件,是一个带有选中或者未选中状态的按钮,CheckBox控件也拥有基本的属性,它还有个android:checked属性。
RadioButton、RadioGroup控件
RadioGroup控件是单选组合框,用于将RadioButton框起来。在没有RadioGroup的情况下,RadioButton可以全部选中,然而如果被RadioGroup包含的情况下,RadioButton就只能选择一个,可以实现单选的效果。RadioGroup控件主要通过getCheckRadioButtonId的方法来获取RadioGroup中的哪一个RadioButton按钮被选中。
2.常见事件
onClick事件
处理一个普通的按钮事件
onTouchEvent事件
手机屏幕触摸事件
键盘事件
3.菜单对话框
菜单
创建菜单的布局这一步就不用说了,还是很简单的;其次是在布局上加载菜单,
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE,Menu.FIRST+1,1,"保存").setIcon(android.R.drawable.ic_menu_save);
menu.add(Menu.NONE,Menu.FIRST+2,3,"删除").setIcon(android.R.drawable.ic_menu_delete);
menu.add(Menu.NONE,Menu.FIRST+3,2,"打开").setIcon(android.R.drawable.ic_menu_add);
return true;
}
然后就是为菜单注册事件
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case Menu.FIRST+1:
Toast.makeText(this,"保存成功",Toast.LENGTH_LONG).show();
case Menu.FIRST+2:
Toast.makeText(this,"删除成功",Toast.LENGTH_LONG).show();
case Menu.FIRST+3:
Toast.makeText(this,"成功打开",Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}
对话框
4.总结
已经学习了一个多月的安卓,从最开始的一脸懵逼,到现在多多少少有点了解,最喜欢的是做布局的时候,凭我自己的喜欢怎么设计界面,最忧伤的当然就是Java代码那方面,实在是硬伤,不过一个多月过去了,套路还是学会写了一点的,遇到难题网上搜搜呗。自己也是对计算机,敲代码非常感兴趣,所以希望能在日后克服Java所带来的麻烦!