登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

查看: 1665543|回复: 486

Android软件开发之盘点常用系统控件界面大合集(三)

  [复制链接]

249

主题

278

帖子

17

安币

初级码农

Rank: 1

发表于 2011-9-2 19:43:06 | 显示全部楼层 |阅读模式
常用系统控件界面大合集
今天我用自己写的一个Demo 和大家详细介绍一个Android开发中遇到的一些常用系统控件的使用技巧。

1.文本框TextView

        TextView的作用是用来显示一个文本框,下面我用两种方式为大家呈现TextView, 第一种是通过xml布局文件呈现 ,第二种是通过代码来呈现,由此可见Android 的界面开发真的是非常灵活。
  1. public class TextViewActivity extends Activity {
  2.     @Override
  3.     protected void onCreate(Bundle savedInstanceState) {
  4.         setContentView(R.layout.textview);
  5.         
  6.         LinearLayout ll = (LinearLayout) findViewById(R.id.textviewll);
  7.         TextView textView = new TextView(this);
  8.         //设置显示文字
  9.         textView.setText("从代码中添加一个TextView");
  10.         //设置显示颜色
  11.         textView.setTextColor(Color.WHITE);
  12.         //设置显示字体大小
  13.         textView.setTextSize(18);
  14.         //设置显示背景颜色
  15.         textView.setBackgroundColor(Color.BLUE);
  16.         //设置锚点位置
  17.         textView.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL);
  18.         //把这个view加入到布局当中
  19.         ll.addView(textView);
  20.         
  21.         super.onCreate(savedInstanceState);
  22.     }
  23. }
复制代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:id="@+id/textviewll"
  4.         android:orientation="vertical" android:layout_width="fill_parent"
  5.         android:layout_height="fill_parent">
  6.         <TextView android:id="@+id/textView0"
  7.                   android:layout_width="fill_parent"
  8.                           android:layout_height="wrap_content"
  9.                           android:textColor="#000000"
  10.                           android:textSize="18dip"
  11.                           android:background="#00FF00"
  12.                       android:text="@string/textView"
  13.                       android:gravity="center_vertical|center_horizontal"
  14.                       />
  15. </LinearLayout>
复制代码
2.网页框WebView

WebView可以实现 类似web的网页 的系统控件  最主要的是可以使用html代码,如访问网页等。

  1. public class WebViewActivity extends Activity {
  2.     WebView webView = null;
  3.     static final String MIME_TYPE = "text/html";
  4.     static final String ENCODING = "utf-8";
  5.    
  6.    
  7.     @Override
  8.     protected void onCreate(Bundle savedInstanceState) {
  9.         setContentView(R.layout.webview);
  10.         
  11.         webView = (WebView) findViewById(R.id.webview);
  12.         webView.loadDataWithBaseURL(null,"<a href='http://blog.csdn.net/xys289187120'>欢迎访问雨松MOMO的博客</a>", MIME_TYPE, ENCODING, null);
  13.         super.onCreate(savedInstanceState);
  14.     }
  15. }
复制代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:id="@+id/textviewll"
  4.         android:orientation="vertical" android:layout_width="fill_parent"
  5.         android:layout_height="fill_parent">
  6.                 <TextView android:layout_width="fill_parent"
  7.                           android:layout_height="wrap_content"
  8.                           android:textColor="#000000"
  9.                           android:textSize="18dip"
  10.                           android:background="#00FF00"
  11.                       android:text="网页框WebView测试"
  12.                       android:gravity="center_vertical|center_horizontal"
  13.                       />
  14.         <WebView android:id="@+id/webview"
  15.                     android:layout_height="wrap_content"
  16.                     android:layout_width="fill_parent"/>
  17. </LinearLayout>
复制代码
3.Menu菜单

        Menu菜单在android系统控件中真的很具有特色 点击以后会悬浮出一个菜单在次点击菜单则会消失,今天我只是简单的介绍一下系统的Menu菜单, 其实Menu菜单可以做出非常好看的效果,比如半透明 自定义按钮图片等等,后面我会详细的介绍menu菜单。

  1. public class MenuActivity extends Activity {

  2.     @Override
  3.     protected void onCreate(Bundle savedInstanceState) {
  4.         setContentView(R.layout.menuview);
  5.         super.onCreate(savedInstanceState);
  6.     }

  7.     @Override
  8.     public boolean onCreateOptionsMenu(Menu menu) {
  9.         menu.add(0, 0, Menu.NONE, "菜单1").setIcon(R.drawable.icon);
  10.         menu.add(0, 1, Menu.NONE, "菜单2").setIcon(R.drawable.icon);
  11.         menu.add(0, 2, Menu.NONE, "菜单3").setIcon(R.drawable.icon);
  12.         menu.add(0, 3, Menu.NONE, "菜单4").setIcon(R.drawable.icon);
  13.         menu.add(0, 4, Menu.NONE, "菜单5").setIcon(R.drawable.icon);
  14.         menu.add(0, 5, Menu.NONE, "菜单6").setIcon(R.drawable.icon);
  15.         return super.onCreateOptionsMenu(menu);
  16.     }

  17.     @Override
  18.     public boolean onOptionsItemSelected(MenuItem item) {
  19.         Dialog(item.getItemId());
  20.         return super.onOptionsItemSelected(item);
  21.     }

  22.     private void Dialog(int message) {
  23.         new AlertDialog.Builder(this).setMessage(
  24.                 "您单击第【" + message + "】项Menu菜单项.").show();
  25.     }
  26. }
复制代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:orientation="vertical" android:layout_width="fill_parent"
  4.         android:layout_height="fill_parent">
  5.         <TextView android:layout_width="fill_parent"
  6.                           android:layout_height="wrap_content"
  7.                           android:textColor="#000000"
  8.                           android:textSize="18dip"
  9.                           android:background="#00FF00"
  10.                       android:text="Menu菜单测试"
  11.                       android:gravity="center_vertical|center_horizontal"
  12.                       />
  13. </LinearLayout>
复制代码
4.按钮Button

第一个是绘制系统字的button, 第二个是带图片的button 。
  1. public class ButtonActivity extends Activity {

  2.     Context mContext = null;
  3.     @Override
  4.     protected void onCreate(Bundle savedInstanceState) {
  5.         setContentView(R.layout.buttonview);
  6.         mContext = this;

  7.         //普通按钮
  8.         Button button0 = (Button)findViewById(R.id.buttonview0);
  9.         
  10.         //设置按钮文字颜色
  11.         button0.setTextColor(Color.BLUE);
  12.         //设置按钮文字大小
  13.         button0.setTextSize(30);
  14.         
  15.         //设置按钮监听 点击事件
  16.         button0.setOnClickListener(new OnClickListener() {
  17.             
  18.             @Override
  19.             public void onClick(View arg0) {
  20.                 Toast.makeText(ButtonActivity.this, "您点击了‘这是一个按钮’", Toast.LENGTH_LONG).show();
  21.                
  22.             }
  23.         });
  24.         
  25.         //带图片的按钮
  26.         ImageButton button1 = (ImageButton)findViewById(R.id.buttonview1);
  27.         //设置按钮监听 点击事件
  28.         button1.setOnClickListener(new OnClickListener() {
  29.             
  30.             @Override
  31.             public void onClick(View arg0) {
  32.                 Toast.makeText(ButtonActivity.this, "您点击了一个带图片的按钮", Toast.LENGTH_LONG).show();
  33.                
  34.             }
  35.         });
  36.         super.onCreate(savedInstanceState);
  37.     }
  38. }
复制代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:orientation="vertical" android:layout_width="fill_parent"
  4.         android:layout_height="fill_parent">
  5.         <TextView android:layout_width="fill_parent"
  6.                           android:layout_height="wrap_content"
  7.                           android:textColor="#000000"
  8.                           android:textSize="18dip"
  9.                           android:background="#00FF00"
  10.                       android:text="Button按钮测试"
  11.                       android:gravity="center_vertical|center_horizontal"
  12.                       />
  13.       <Button
  14.                      android:id="@+id/buttonview0"
  15.                   android:layout_width="fill_parent"
  16.                          android:layout_height="wrap_content"
  17.                       android:text="这是一个按钮"
  18.                       />
  19.        <ImageButton
  20.                      android:id="@+id/buttonview1"
  21.                   android:layout_width="fill_parent"
  22.                          android:layout_height="wrap_content"
  23.                       android:src="@drawable/icon"
  24.                       />     
  25. </LinearLayout>
复制代码
5.编辑框EditView

编辑框在实际开发中用到的非常普遍 比如登录 输入账号 密码 等等。
  1. public class EditTextActivity extends Activity {

  2.     Context mContext = null;
  3.     @Override
  4.     protected void onCreate(Bundle savedInstanceState) {
  5.         setContentView(R.layout.editview);
  6.         mContext = this;
  7.         //帐号
  8.         final EditText editText0 = (EditText)findViewById(R.id.editview0);
  9.         //密码
  10.         final EditText editText1 = (EditText)findViewById(R.id.editview1);
  11.         
  12.         //确认按钮
  13.         Button button = (Button)findViewById(R.id.editbutton0);
  14.         
  15.         button.setOnClickListener(new OnClickListener() {
  16.             
  17.             @Override
  18.             public void onClick(View arg0) {
  19.                 String username = editText0.getText().toString();
  20.                 String password = editText1.getText().toString();
  21.                 Toast.makeText(EditTextActivity.this, "用户名:"+username +"密码:"+ password, Toast.LENGTH_LONG).show();
  22.             }
  23.         });
  24.         super.onCreate(savedInstanceState);
  25.     }
  26. }
复制代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:orientation="vertical" android:layout_width="fill_parent"
  4.         android:layout_height="fill_parent">
  5.         <TextView android:layout_width="fill_parent"
  6.                           android:layout_height="wrap_content"
  7.                           android:textColor="#000000"
  8.                           android:textSize="18dip"
  9.                           android:background="#00FF00"
  10.                       android:text="EditText编辑框测试"
  11.                       android:gravity="center_vertical|center_horizontal"
  12.                       />
  13.       <EditText
  14.                      android:id="@+id/editview0"
  15.                   android:layout_width="fill_parent"
  16.                          android:layout_height="wrap_content"
  17.              android:hint="请输入帐号"
  18.              android:phoneNumber="true"
  19.                       />
  20.                      
  21.       <EditText
  22.                      android:id="@+id/editview1"
  23.                   android:layout_width="fill_parent"
  24.                          android:layout_height="wrap_content"
  25.              android:hint="请输入密码"
  26.              android:password="true"
  27.                       />
  28.       <Button
  29.                      android:id="@+id/editbutton0"
  30.                   android:layout_width="fill_parent"
  31.                          android:layout_height="wrap_content"
  32.                       android:text="确定"
  33.                       />   
  34. </LinearLayout>
复制代码
6.单项选择

       使用RadioGroup 包住若干个RadioButton 来实现单项选择。监听每一个RadioGroup 就可以知道那个单选组中的第一个ID被按下。
  1. public class RadioActivity extends Activity {

  2.     Context mContext = null;
  3.     @Override
  4.     protected void onCreate(Bundle savedInstanceState) {
  5.         setContentView(R.layout.radioview);
  6.         mContext = this;
  7.         //单选组(只有在一个组中的按钮可以单选)
  8.         RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radion0);
  9.         
  10.         //单选按钮(第一组)
  11.         final RadioButton radioButton0 = (RadioButton)findViewById(R.id.radionButton0);
  12.         final RadioButton radioButton1 = (RadioButton)findViewById(R.id.radionButton1);
  13.         final RadioButton radioButton2 = (RadioButton)findViewById(R.id.radionButton2);
  14.         
  15.         radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  16.             
  17.             @Override
  18.             public void onCheckedChanged(RadioGroup arg0, int checkID) {
  19.                 if(radioButton0.getId() == checkID) {
  20.                     Toast.makeText(RadioActivity.this, "您选中了第一组" + radioButton0.getText(), Toast.LENGTH_LONG).show();
  21.                 }else if(radioButton1.getId() == checkID) {
  22.                     Toast.makeText(RadioActivity.this, "您选中了第一组" + radioButton1.getText(), Toast.LENGTH_LONG).show();
  23.                 }else if(radioButton2.getId() == checkID) {
  24.                     Toast.makeText(RadioActivity.this, "您选中了第一组" + radioButton2.getText(), Toast.LENGTH_LONG).show();
  25.                 }
  26.             }
  27.         });
  28.         
  29.         RadioGroup radioGroup0 = (RadioGroup)findViewById(R.id.radion1);
  30.         
  31.         //单选按钮(第二组)
  32.         final RadioButton radioButton3 = (RadioButton)findViewById(R.id.radionButton3);
  33.         final RadioButton radioButton4 = (RadioButton)findViewById(R.id.radionButton4);
  34.         final RadioButton radioButton5 = (RadioButton)findViewById(R.id.radionButton5);
  35.         
  36.         radioGroup0.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  37.             
  38.             @Override
  39.             public void onCheckedChanged(RadioGroup arg0, int checkID) {
  40.                 if(radioButton3.getId() == checkID) {
  41.                     Toast.makeText(RadioActivity.this, "您选中了第二组" + radioButton3.getText(), Toast.LENGTH_LONG).show();
  42.                 }else if(radioButton4.getId() == checkID) {
  43.                     Toast.makeText(RadioActivity.this, "您选中了第二组" + radioButton4.getText(), Toast.LENGTH_LONG).show();
  44.                 }else if(radioButton5.getId() == checkID) {
  45.                     Toast.makeText(RadioActivity.this, "您选中了第二组" + radioButton5.getText(), Toast.LENGTH_LONG).show();
  46.                 }
  47.             }
  48.         });
  49.         super.onCreate(savedInstanceState);
  50.     }
  51. }
复制代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:orientation="vertical" android:layout_width="fill_parent"
  4.         android:layout_height="fill_parent">
  5.         <TextView android:layout_width="fill_parent"
  6.                           android:layout_height="wrap_content"
  7.                           android:textColor="#000000"
  8.                           android:textSize="18dip"
  9.                           android:background="#00FF00"
  10.                       android:text="单项选择测试第一组"
  11.                       android:gravity="center_vertical|center_horizontal"
  12.                       />
  13.     <RadioGroup
  14.               android:id="@+id/radion0"
  15.                            android:layout_width="fill_parent"
  16.                           android:layout_height="wrap_content" >
  17.     <RadioButton
  18.                              android:id="@+id/radionButton0"
  19.                            android:layout_width="fill_parent"
  20.                           android:layout_height="wrap_content"
  21.                           android:text="item0"
  22.     />
  23.      <RadioButton
  24.                              android:id="@+id/radionButton1"
  25.                            android:layout_width="fill_parent"
  26.                           android:layout_height="wrap_content"
  27.                           android:text="item1"
  28.     />   
  29.      <RadioButton
  30.                              android:id="@+id/radionButton2"
  31.                            android:layout_width="fill_parent"
  32.                           android:layout_height="wrap_content"
  33.                           android:text="item2"
  34.     />   
  35.     </RadioGroup>

  36.         <TextView android:layout_width="fill_parent"
  37.                           android:layout_height="wrap_content"
  38.                           android:textColor="#000000"
  39.                           android:textSize="18dip"
  40.                           android:background="#00FF00"
  41.                       android:text="单项选择测试第二组"
  42.                       android:gravity="center_vertical|center_horizontal"
  43.                       />
  44.     <RadioGroup
  45.               android:id="@+id/radion1"
  46.                            android:layout_width="fill_parent"
  47.                           android:layout_height="wrap_content" >
  48.     <RadioButton
  49.                              android:id="@+id/radionButton3"
  50.                            android:layout_width="fill_parent"
  51.                           android:layout_height="wrap_content"
  52.                           android:text="item3"
  53.     />
  54.      <RadioButton
  55.                              android:id="@+id/radionButton4"
  56.                            android:layout_width="fill_parent"
  57.                           android:layout_height="wrap_content"
  58.                           android:text="item4"
  59.     />   
  60.      <RadioButton
  61.                              android:id="@+id/radionButton5"
  62.                            android:layout_width="fill_parent"
  63.                           android:layout_height="wrap_content"
  64.                           android:text="item5"
  65.     />   
  66.     </RadioGroup>   
  67. </LinearLayout>
复制代码
7.多项选择


使用系统控件Checkbox  监听每一个checkbox 的点击事件就可以确定那几个选项被选择了。
  1. public class CheckboxActivity extends Activity {

  2.     //用来储存选中的内容
  3.     ArrayList <String>item = new ArrayList<String>();
  4.    
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         setContentView(R.layout.checkboxview);
  8.         
  9.         CheckBox checkbox0 = (CheckBox)findViewById(R.id.checkboxview0);
  10.         CheckBox checkbox1 = (CheckBox)findViewById(R.id.checkboxview1);
  11.         CheckBox checkbox2 = (CheckBox)findViewById(R.id.checkboxview2);
  12.         CheckBox checkbox3 = (CheckBox)findViewById(R.id.checkboxview3);
  13.         Button button = (Button)findViewById(R.id.checkboxbutton);
  14.         //对checkbox进行监听
  15.         checkbox0.setOnCheckedChangeListener(new OnCheckedChangeListener() {

  16.             @Override
  17.             public void onCheckedChanged(CompoundButton button, boolean arg1) {
  18.                 String str = button.getText().toString();
  19.                 if (button.isChecked()) {
  20.                     item.add(str);
  21.                 } else {
  22.                     item.remove(str);
  23.                 }

  24.             }
  25.         });
  26.         
  27.         checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener() {

  28.             @Override
  29.             public void onCheckedChanged(CompoundButton button, boolean arg1) {
  30.                 String str = button.getText().toString();
  31.                 if (button.isChecked()) {
  32.                     item.add(str);
  33.                 } else {
  34.                     item.remove(str);
  35.                 }

  36.             }
  37.         });        
  38.         checkbox2.setOnCheckedChangeListener(new OnCheckedChangeListener() {

  39.             @Override
  40.             public void onCheckedChanged(CompoundButton button, boolean arg1) {
  41.                 String str = button.getText().toString();
  42.                 if (button.isChecked()) {
  43.                     item.add(str);
  44.                 } else {
  45.                     item.remove(str);
  46.                 }

  47.             }
  48.         });
  49.         checkbox3.setOnCheckedChangeListener(new OnCheckedChangeListener() {

  50.             @Override
  51.             public void onCheckedChanged(CompoundButton button, boolean arg1) {
  52.                 String str = button.getText().toString();
  53.                 if (button.isChecked()) {
  54.                     item.add(str);
  55.                 } else {
  56.                     item.remove(str);
  57.                 }

  58.             }
  59.         });
  60.         
  61.         button.setOnClickListener(new  OnClickListener() {
  62.             
  63.             @Override
  64.             public void onClick(View arg0) {
  65.                 String str = item.toString();
  66.                  Toast.makeText(CheckboxActivity.this, "您选中了" + str, Toast.LENGTH_LONG).show();
  67.                
  68.             }
  69.         });
  70.         super.onCreate(savedInstanceState);
  71.     }
  72. }
复制代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:orientation="vertical" android:layout_width="fill_parent"
  4.         android:layout_height="fill_parent">
  5.         <TextView android:layout_width="fill_parent"
  6.                           android:layout_height="wrap_content"
  7.                           android:textColor="#000000"
  8.                           android:textSize="18dip"
  9.                           android:background="#00FF00"
  10.                       android:text="多项选择测试"
  11.                       android:gravity="center_vertical|center_horizontal"
  12.                       />
  13.       <CheckBox
  14.                      android:id="@+id/checkboxview0"
  15.                   android:layout_width="fill_parent"
  16.                          android:layout_height="wrap_content"
  17.                       android:text="item0"
  18.                       />   
  19.       <CheckBox
  20.                      android:id="@+id/checkboxview1"
  21.                   android:layout_width="fill_parent"
  22.                          android:layout_height="wrap_content"
  23.                       android:text="item1"
  24.                       />
  25.       <CheckBox
  26.                      android:id="@+id/checkboxview2"
  27.                   android:layout_width="fill_parent"
  28.                          android:layout_height="wrap_content"
  29.                       android:text="item2"
  30.                       />
  31.       <CheckBox
  32.                      android:id="@+id/checkboxview3"
  33.                   android:layout_width="fill_parent"
  34.                          android:layout_height="wrap_content"
  35.                       android:text="item3"
  36.                       />
  37.       <Button
  38.                      android:id="@+id/checkboxbutton"
  39.                   android:layout_width="fill_parent"
  40.                          android:layout_height="wrap_content"
  41.                       android:text="确定"
  42.                       />
  43. </LinearLayout>
复制代码
最后如果你还是觉得我写的不够详细 看的不够爽 不要紧我把源代码的下载地址贴出来 欢迎大家一起讨论学习
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

很给力,顶一下  发表于 2013-1-31 15:29
很好。我第一次用到了WebView.谢谢楼主分享!  发表于 2012-11-2 11:03

主题

帖子

安币

游客

发表于 2011-9-3 11:21:05 | 显示全部楼层
好贴啊  要顶下的

0

主题

80

帖子

56

安币

程序猿

Rank: 2

QQ
发表于 2011-9-5 13:52:18 | 显示全部楼层
值得下载学习!

0

主题

24

帖子

10

安币

初级码农

Rank: 1

发表于 2011-9-6 18:54:26 | 显示全部楼层
这个真的很不错,想要的快拿去吧

0

主题

7

帖子

3

安币

初级码农

Rank: 1

发表于 2011-9-7 00:05:48 | 显示全部楼层
好东西。顶起。

14

主题

360

帖子

204

安币

攻城狮

Rank: 3Rank: 3

发表于 2011-9-7 11:47:20 | 显示全部楼层
henhao,谢谢

14

主题

360

帖子

204

安币

攻城狮

Rank: 3Rank: 3

发表于 2011-9-7 12:05:49 | 显示全部楼层
谢谢你的分享,帮了很大的忙!Thank you very much

0

主题

74

帖子

144

安币

程序猿

Rank: 2

发表于 2011-9-12 15:41:05 | 显示全部楼层
感谢分享,很有用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区
联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表