Chinaunix首页 | 论坛 | 博客
  • 博客访问: 105682
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 184
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-20 11:19
个人简介

学习内核中~

文章分类

全部博文(17)

文章存档

2013年(17)

我的朋友

分类: Android平台

2013-07-23 20:44:22

android.view.View类是Android基本的用户界面构建组块,它代表屏幕的一个矩形区域。View类是Android SDK 中几乎所有用户界面控件和布局的基类。
Android SDK 包含一个名为 android.widget的Java包,当我们提及控件时,通常指该包中的某个类,控件涵盖几乎所有可绘制到屏幕上的东西,正如前面说的,通常所有的控件都是从View类继承而来。
layout是android.widget包中包含的一种特殊控件。布局控件依然是View对象,但它并不实际地在屏幕上进行绘制,相反,它是其他控件的父容器。

TextView控件,ems和lines属性定义了宽和高,超出这部分的文本将不可见:

点击(此处)折叠或打开

  1. <TextView
  2.     android:id="@+id/TextView01"
  3.     android:layout_width="wrap_content"
  4.     android:layout_height="wrap_content"
  5.     android:lines="2"
  6.     andorid:ems="12"
  7.     android:text="Some Sample text here" />

继承自TextView的EditText控件:

点击(此处)折叠或打开

  1. <EditText
  2.         android:id="@+id/EditText01"
  3.         android:layout_width="fill_parent"
  4.         android:layout_height="wrap_content"
  5.         android:hint="type here"
  6.         android:lines="2" />
注意这里的layout_out应该设置为“fill_parent”,否则该EditText初始化的宽度只是“type here”的宽度。TextView和EditView都能通过setText和getText来设置和获取文本。AutoCompleteTextView和MultiAutoCompleteTextView能够提供自动补全功能,EditText还能通过setFilters方法过滤输入。

Spinner控件:

点击(此处)折叠或打开

  1. <Spinner
  2.         android:id="@+id/Spinner01"
  3.         android:layout_width="wrap_content"
  4.         android:layout_height="wrap_content"
  5.         android:entries="@array/colors"
  6.         android:prompt="@string/spinner" />
Spinner的prompt属性一定要是一个字符串资源而不是字符串。Spinner并不是一个TextView,而是一个TextView对象的列表,因此如果我们要获取选中的TextView的文本,则要
final Spinner spin = (Spinner)findViewById(R.id.Spinner01);
TextView text_sel = (TextView)spin.getSelectedView();
String selected_text = text_sel.getText();

Button控件:

点击(此处)折叠或打开

  1. <Button
  2.      android:id="@+id/basic_button"
  3.      android:layout_width="wrap_content"
  4.      android:layout_height="wrap_content"
  5.      android:text="Basic Button" />
给这个按钮添加单击事件处理代码

点击(此处)折叠或打开

  1. final Button basic_button = (Button)findViewById(R.id.basic_button);
  2.         basic_button.setOnClickListener(new View.OnClickListener() {
  3.             
  4.             @Override
  5.             public void onClick(View v) {
  6.                 // TODO Auto-generated method stub
  7.                 Toast.makeText(getApplicationContext(), "Button clicked", Toast.LENGTH_SHORT).show();
  8.             }
  9.         });
  10.     }
另外可以使用ImageButton给按钮添加图标

点击(此处)折叠或打开

  1. <ImageButton
  2.      android:id="@+id/image_button"
  3.      android:layout_width="wrap_content"
  4.      android:layout_height="wrap_content"
  5.      android:src="@drawable/ic_launcher" />

CheckBox控件:

点击(此处)折叠或打开

  1. <CheckBox
  2.      android:id="@+id/checkbox"
  3.      android:layout_width="wrap_content"
  4.      android:layout_height="wrap_content"
  5.      android:text="Check me?" />

  6. // 添加单击事件处理代码
  7. final CheckBox check_button = (CheckBox)findViewById(R.id.checkbox);
  8.         check_button.setOnClickListener(new View.OnClickListener() {
  9.             
  10.             @Override
  11.             public void onClick(View v) {
  12.                 // TODO Auto-generated method stub
  13.                 TextView tv = (TextView)findViewById(R.id.checkbox);
  14.                 tv.setText(check_button.isChecked() ?
  15.                         "checked!" : "not checked." );
  16.             }
  17.         });
如代码所示,CheckBox同样也是一个TextView。

ToggleButton控件:

点击(此处)折叠或打开

  1. <ToggleButton
  2.      android:id="@+id/toggle_button"
  3.      android:layout_width="wrap_content"
  4.      android:layout_height="wrap_content"
  5.      android:text="Toggle"
  6.      android:textOn="Enabled"
  7.      android:textOff="Disabled" />
RadioButton控件:

点击(此处)折叠或打开

  1. <RadioGroup
  2.      android:id="@+id/radio_gourp"
  3.      android:layout_width="wrap_content"
  4.      android:layout_height="wrap_content">
  5.     
  6.      <RadioButton
  7.      android:id="@+id/radio_button01"
  8.      android:layout_width="wrap_content"
  9.              android:layout_height="wrap_content"
  10.              android:text="Option1" />
  11.      <RadioButton
  12.      android:id="@+id/radio_button02"
  13.      android:layout_width="wrap_content"
  14.              android:layout_height="wrap_content"
  15.              android:text="Option2" />
  16.     
  17.     </RadioGroup>
选项菜单:

点击(此处)折叠或打开

  1. public boolean onCreateOptionsMenu(Menu menu) {
  2.    
  3.         super.onCreateOptionsMenu(menu);
  4.         menu.add("Forms").setIcon(android.R.drawable.ic_menu_edit);
  5.         menu.add("Indicators").setIcon(android.R.drawable.ic_menu_info_details);
  6.         menu.add("Container").setIcon(android.R.drawable.ic_menu_view);
  7.         
  8.         SubMenu style_choice = menu.addSubMenu("Style")
  9.                 .setIcon(android.R.drawable.ic_menu_preferences);
  10.         style_choice.add(Menu.FIRST, 1, 1, "Light");
  11.         style_choice.add(Menu.FIRST, 2, 2, "Dark");
  12.         style_choice.setGroupCheckable(Menu.FIRST, true, true);
  13.         return true;
  14.     }
  15.     
  16.     public boolean onOptionsItemSelected(MenuItem item) {
  17.         if (item.getItemId() == 1) {
  18.             item.setChecked(true);
  19.             isLight = true;
  20.             return true;
  21.         } else if (item.getItemId() == 2) {
  22.             item.setChecked(true);
  23.             isLight = false;
  24.             return true;
  25.         }
  26.         return super.onOptionsItemSelected(item);
  27.     }
选项菜单适用于快速设定。


阅读(2261) | 评论(0) | 转发(0) |
0

上一篇:Class.forName

下一篇:px和dp比较

给主人留下些什么吧!~~