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所带来的麻烦!

posted @ 2017-03-27 21:27  yeech  阅读(385)  评论(8编辑  收藏  举报