========================ImageView------图像视图==========================
用来展示图片。
android:scaleType="fixXY"----设置图片的缩放规则横纵占满整个组件//scale 比例n
android:src="@drawable/bulb_off" ----添加图片资源
在代码中通过iv.setImageResource(R.drawable.bulb_on);来添加图片资源
=========================RadioButton----单选按钮=========================
嵌套在同一个RadioGroup的RadioButton 可以实现单选效果。
android:checked="true"---设置为选中状态
为单选按钮添加选中状态改变的监听:
1 rb1.setOnCheckedChangeListener(new OnCheckedChangeListener() 2 { 3 @Override 4 public void onCheckedChanged(CompoundButton buttonView, 5 boolean isChecked) { 6 // 如果为选中 7 if (isChecked) 8 { 9 10 } 11 } 12 });
给RadioGroup添加监听:
1 rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() 2 { 3 @Override 4 public void onCheckedChanged(RadioGroup group, int checkedId) { 5 //根据checkedId来判断选中的RadioButton 6 switch (checkedId) { 7 case R.id.rb_1: 8 Toast.makeText(MainActivity.this, "111", 0).show(); 9 break; 10 case R.id.rb_2: 11 Toast.makeText(MainActivity.this, "2222", 0).show(); 12 break; 13 default: 14 break; 15 } 16 } 17 });
===============================Checkbox-----多选框===============================
给CheckBox添加选中状态发生改变的监听:new onCheckChangeListener(){}
===============================ToggleButton----具有状态显示的Button==================
android:textOn="打开"--------设置选中状态为ture时的文字
android:textOff="关闭"--------设置选中状态为false时的文字
android:checked="false"----------设置选中状态为false
===============================ContextMenu ----------- 上下文菜单=========================
可以为组件注册上下文菜单。当组件长摁时,弹出上下文菜单。
静态注册:
1.为组件注册上下文菜单
registerForContextMenu(img);//register n/v 注册
2.添加(xml)上下文菜单
@Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); getMenuInflater().inflate(R.menu.menu_context,menu); }
自定义菜单资源文件res/menu/menu_context.xml:
1 <menu xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:app="http://schemas.android.com/apk/res-auto" 3 xmlns:tools="http://schemas.android.com/tools" 4 tools:context=".MainActivity"> 5 <item android:id="@+id/itemOpen" 6 android:title="打开" 7 android:orderInCategory="1"/> 8 <item android:id="@+id/itemClose" 9 android:title="关闭" 10 android:orderInCategory="2"/> 11 </menu>
3.设置ContextMenu的条目选中监听
public boolean onContextItemSelected(MenuItem item) { //根据item的id来判断点击的是哪个条目 switch (item.getItemId()) { case 10: //do something break; case 11: //do something break; default: //do something break; } return super.onContextItemSelected(item); }
动态注册:
1.为组件注册上下文菜单
registerForContextMenu(img);//register n/v 注册
2.设置ContextMenu
1 @Override 2 public void onCreateContextMenu(ContextMenu menu, View v, 3 ContextMenuInfo menuInfo) 4 { 5 //在代码中动态添加选项 6 super.onCreateContextMenu(menu, v, menuInfo); 7 //添加标题头 8 menu.setHeaderTitle(R.string.ctxmenu_title); 9 //参数:组id,条目id,排序(数越大越靠后),条目的文字描述 10 menu.add(0, 10, 100, "打开"); 11 menu.add(0, 11, 20, "关闭"); 12 }
3.设置ContextMenu的条目选中监听
@Override public boolean onContextItemSelected(MenuItem item) { //根据item的id来判断点击的是哪个条目 switch (item.getItemId()) { case 10: //do something break; case 11: //do something break; default: //do something break; } return super.onContextItemSelected(item); }
================ImageButton -----继承于ImageView===============
为按钮添加图片资源:android:src="@drawable/exit"
有点击的效果
为ImageButton添加单击监听
1 ib.setOnClickListener(new OnClickListener() 2 { 3 public void onClick(View v) 4 { 5 MainActivity.this.finish(); 6 } 7 }); 8
===================================MVC UI组件======================================
Spinner------下拉列表
常用属性/方法:
android:divider="@color/..."
android:divider="@drawable/..."----分割线样式
android:dividerHeight="3dp"--------分割线宽度
android:popupBackground="@android:color/holo_blue_light"----------弹出的背景//popup弹出
spinner.setSelection()-------------设置默认选中条目
使用:
1 // 2 //创建Adapter 3 //ArrayAdapter参数: 上下文目录, 布局文件(下拉前), 数据源(数组) 4 // 5 ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, 6 android.R.layout.simple_spinner_item, data); 7 // 8 //设置下拉列表(下拉后)的样式 9 //自定义的 res/layout/spinner_item.xml 10 // 11 adapter.setDropDownViewResource(R.layout.spinner_item);//drop落下v 12 // 13 //spinner加载Adapter 14 // 15 spinner.setAdapter(adapter);
自定义布局资源文件 res/layout/spinner_item.xml:
1 <?xml version="1.0" encoding="utf-8"?> 2 <TextView 3 android:id="@+id/show" 4 android:layout_width="match_parent" 5 android:layout_height="wrap_content" 6 android:background="@android:color/holo_green_light" 7 xmlns:android="http://schemas.android.com/apk/res/android"> 8 9 </TextView>
自定义字符串资源文件 res/values/arrays.xml:
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <array name="array_strings"> 4 <item>新垣结衣</item> 5 <item>长泽雅美</item> 6 <item>崛北真希</item> 7 <item>户田惠梨香</item> 8 </array> 9 </resources>
Java代码中使用:
1 String[] data = getResources().getStringArray(R.array.array_strings);
(注意:写在 setContentView(R.layout.activity_main); 之后)
Spinner设置监听:
1 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 2 { 3 @Override 4 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) //position 位置n 5 { 6 Toast.makeText(MainActivity.this, position + 1 +" hahhah", Toast.LENGTH_SHORT).show(); 7 } 8 9 @Override 10 public void onNothingSelected(AdapterView<?> parent) 11 { 12 13 } 14 });
**注意:// java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner
AutoCompleteTextView------------------------自动完成文本视图
常用属性:
android:completionHint="String"--------------提示String
android:completionThreshold="3"--------------在输入3位时开始提示类容//threshold 入口n
常用方法:
//让AutoCompliteTextView显示提示列表
auto.showDropDown();
//让AutoCompliteTextView关闭提示列表
auto.dismissDropDown();
ListView----------------列表视图
显示最后一行:
android:stackFromBottom="true"
或者
listView.setSelection(listView.getBottom)
或者
listView.setSelection(adapter.getCount())
ListView设置监听:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id)//position位置 { //do something } });