您的位置:首页 > 移动开发 > Android开发

Android学习指南之九:Button、TextView、EditView、CheckBox、RadioGroup、ImageView、ImageButton

2012-06-20 22:30 841 查看
本节继续讲解用户界面的相关内容,主要包括Button、TextView、EditView、CheckBox、RadioGroup、ImageView和ImageButton。

一、Button按钮

按钮是程序中最常见的一个元素,我们通过一个例子感受一下,代码的讲解都写在注释里了,所以我就直接上代码和代码的运行结果。

package android.basic.lesson9;   
      
    import android.app.Activity;   
    import android.os.Bundle;   
    import android.view.View;   
    //不熟悉内部类的朋友可以留意一下这里的导入方式   
    import android.view.View.OnClickListener;   
    import android.widget.Button;   
    import android.widget.TextView;   
      
    public class MainHelloButton extends Activity {   
        /** Called when the activity is first created. */  
        @Override  
        public void onCreate(Bundle savedInstanceState) {   
            super.onCreate(savedInstanceState);   
            setContentView(R.layout.main);   
      
           //实现一个多按钮可用的单击监听器对象   
           OnClickListener listener = new Button.OnClickListener(){   
                            @Override  
                            public void onClick(View v) {   
                                    setTitle("您的答案是:"+((TextView)v).getText());   
                            }   
           };   
      
           //为界面中的每个按钮绑定上这个单击监听器   
           findViewById(R.id.Button01).setOnClickListener(listener);   
           findViewById(R.id.Button02).setOnClickListener(listener);   
           findViewById(R.id.Button03).setOnClickListener(listener);   
        }   
    }
下面是布局文件:

package android.basic.lesson9;   
      
    import android.app.Activity;   
    import android.os.Bundle;   
    import android.text.method.ScrollingMovementMethod;   
    import android.widget.TextView;   
      
    public class HelloTextView extends Activity {   
        /** Called when the activity is first created. */  
        @Override  
        public void onCreate(Bundle savedInstanceState) {   
            super.onCreate(savedInstanceState);   
            setContentView(R.layout.main);   
      
            //找到TextView组件   
            TextView tv = (TextView)findViewById(R.id.TextView01);   
      
            //设置移动方法   
            tv.setMovementMethod(ScrollingMovementMethod.getInstance());   
        }   
    }
main.xml代码:

//找到xml中定义的EditText   
    final EditText et = (EditText) findViewById(R.id.EditText01);   
    et.setOnKeyListener(new View.OnKeyListener() {   
      
            @Override  
            public boolean onKey(View v, int keyCode, KeyEvent event) {   
                    //监视硬键盘按键   
                    if(event.getAction()== KeyEvent.ACTION_DOWN && keyCode== KeyEvent.KEYCODE_ENTER){   
                            //按住把EditView中的文版显示在吐司消息中   
                            Toast.makeText(MainHelloEditView.this, et.getText(),   
                                            Toast.LENGTH_SHORT).show();   
                            //返回true说明你已经处理了这个事件并且它应该就此终止,如果返回false就表示此事件还需要继续传递下去   
                            return true;   
                    }   
                    return false;   
            }   
    });
3、运行程序,输入一些文字之后按回车键看看效果:

有兴趣的同学可以把toast后面的return true换成 return false看看效果,再按OK键呼出软键盘试试。

四、ImageView 图片框,ImageButton 图片按钮

我们通过一个例子来看一下ImageView和ImageButton的应用。

package android.basic.lesson9;   
      
    import android.app.Activity;   
    import android.os.Bundle;   
    import android.view.MotionEvent;   
    import android.view.View;   
    import android.view.View.OnClickListener;   
    import android.view.View.OnTouchListener;   
    import android.widget.ImageButton;   
    import android.widget.ImageView;   
    import android.widget.Toast;   
      
    public class MainHelloImageButton extends Activity {   
            /** Called when the activity is first created. */  
            @Override  
            public void onCreate(Bundle savedInstanceState) {   
                    super.onCreate(savedInstanceState);   
                    setContentView(R.layout.main);   
      
                    // 找到xml中的ImageButton和ImageView   
                    final ImageButton ib = (ImageButton) findViewById(R.id.ImageButton01);   
                    final ImageView iv = (ImageView) findViewById(R.id.ImageView01);   
      
                    // 定义触摸监听   
                    OnTouchListener otl = new OnTouchListener() {   
                            @Override  
                            public boolean onTouch(View v, MotionEvent event) {   
                                    switch (v.getId()) {   
                                    case R.id.ImageButton01:   
                                            Toast.makeText(getApplicationContext(), "触摸"+((ImageView)v).getId(),   
                                                            Toast.LENGTH_LONG).show();   
                                            break;   
                                    case R.id.ImageView01:   
                                            Toast.makeText(getApplicationContext(), "触摸"+((ImageView)v).getId(),   
                                                            Toast.LENGTH_LONG).show();   
                                            break;   
                                    }   
                                    return false;   
                            }   
                    };   
      
                    // 定义点击监听   
                    OnClickListener ocl = new OnClickListener() {   
                            @Override  
                            public void onClick(View v) {   
                                    Toast.makeText(getApplicationContext(), "点击"+((ImageView)v).getId(),   
                                                    Toast.LENGTH_LONG).show();   
                            }   
                    };   
      
                    // 绑定监听   
                    ib.setOnClickListener(ocl);   
                    ib.setOnTouchListener(otl);   
                    iv.setOnClickListener(ocl);   
                    iv.setOnTouchListener(otl);   
            }   
    }
main.xml配置:

package android.basic.lesson9;   
      
    import android.app.Activity;   
    import android.os.Bundle;   
    import android.view.View;   
    import android.view.View.OnClickListener;   
    import android.widget.Button;   
    import android.widget.CheckBox;   
    import android.widget.CompoundButton;   
    import android.widget.CompoundButton.OnCheckedChangeListener;   
    import android.widget.Toast;   
      
    public class MainHelloCheckBox extends Activity {   
            /** Called when the activity is first created. */  
            @Override  
            public void onCreate(Bundle savedInstanceState) {   
                    super.onCreate(savedInstanceState);   
                    setContentView(R.layout.main);   
      
                    //声明对象   
                    final CheckBox cb1 = (CheckBox) findViewById(R.id.CheckBox01);   
                    final CheckBox cb2 = (CheckBox) findViewById(R.id.CheckBox02);   
      
                    //声明监听器   
                    OnClickListener ocl = new OnClickListener() {   
      
                            @Override  
                            public void onClick(View v) {   
                                            if(!((CheckBox)v).isChecked()){   
                                            Toast.makeText(MainHelloCheckBox.this, "\""+((Button)v).getText()+"\"被取消",   
                                                            Toast.LENGTH_SHORT).show();   
                                            }   
                            }   
                    };   
      
                    OnCheckedChangeListener occl = new OnCheckedChangeListener() {   
      
                            @Override  
                            public void onCheckedChanged(CompoundButton buttonView,   
                                            boolean isChecked) {   
                                    if(isChecked){   
                                            Toast.makeText(MainHelloCheckBox.this, "\""+buttonView.getText()+"\"被选择",   
                                                            Toast.LENGTH_SHORT).show();   
                                    }   
                            }   
                    };   
      
                    //绑定监听器   
                    cb1.setOnCheckedChangeListener(occl);   
                    cb2.setOnCheckedChangeListener(occl);   
                    cb1.setOnClickListener(ocl);   
                    cb2.setOnClickListener(ocl);   
            }   
    }
main.xml的代码:

package android.basic.lesson9;   
      
    import android.app.Activity;   
    import android.os.Bundle;   
    import android.view.View;   
    import android.view.View.OnClickListener;   
    import android.widget.RadioButton;   
    import android.widget.Toast;   
      
    public class MainHelloRadioGroup extends Activity {   
            /** Called when the activity is first created. */  
            @Override  
            public void onCreate(Bundle savedInstanceState) {   
                    super.onCreate(savedInstanceState);   
                    setContentView(R.layout.main);   
      
                    final RadioButton radio_red = (RadioButton) findViewById(R.id.radio_red);   
                    final RadioButton radio_blue = (RadioButton) findViewById(R.id.radio_blue);   
      
                    OnClickListener ocl = new OnClickListener() {   
      
                            @Override  
                            public void onClick(View v) {   
                            Toast.makeText(MainHelloRadioGroup.this, ((RadioButton)v).getText(), Toast.LENGTH_SHORT).show();   
      
                            }   
                    };   
      
                    radio_red.setOnClickListener(ocl);   
                    radio_blue.setOnClickListener(ocl);   
            }   
    }
3、运行程序,查看结果:

本讲内容比较多,例子也比较多,大家可以多做练习来加深理解和提高熟练度,并留意一些常用属性的设置。这节课就到这里吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐