第八章 高级UI组件
2015-11-22 16:51
351 查看
========================ImageView------图像视图==========================
用来展示图片。
android:scaleType="fixXY"----设置图片的缩放规则横纵占满整个组件//scale 比例n
android:src="@drawable/bulb_off" ----添加图片资源
在代码中通过iv.setImageResource(R.drawable.bulb_on);来添加图片资源
=========================RadioButton----单选按钮=========================
嵌套在同一个RadioGroup的RadioButton 可以实现单选效果。
android:checked="true"---设置为选中状态
为单选按钮添加选中状态改变的监听:
给RadioGroup添加监听:
===============================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)上下文菜单
自定义菜单资源文件res/menu/menu_context.xml:
3.设置ContextMenu的条目选中监听
动态注册:
1.为组件注册上下文菜单
registerForContextMenu(img);//register n/v 注册
2.设置ContextMenu
3.设置ContextMenu的条目选中监听
================ImageButton -----继承于ImageView===============
为按钮添加图片资源:android:src="@drawable/exit"
有点击的效果
为ImageButton添加单击监听
===================================MVC UI组件======================================
Spinner------下拉列表
常用属性/方法:
android:divider="@color/..."
android:divider="@drawable/..."----分割线样式
android:dividerHeight="3dp"--------分割线宽度
android:popupBackground="@android:color/holo_blue_light"----------弹出的背景//popup弹出
spinner.setSelection()-------------设置默认选中条目
使用:
自定义布局资源文件 res/layout/spinner_item.xml:
自定义字符串资源文件 res/values/arrays.xml:
Java代码中使用:
(注意:写在 setContentView(R.layout.activity_main); 之后)
Spinner设置监听:
**注意:// 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设置监听:
用来展示图片。
android:scaleType="fixXY"----设置图片的缩放规则横纵占满整个组件//scale 比例n
android:src="@drawable/bulb_off" ----添加图片资源
在代码中通过iv.setImageResource(R.drawable.bulb_on);来添加图片资源
=========================RadioButton----单选按钮=========================
嵌套在同一个RadioGroup的RadioButton 可以实现单选效果。
android:checked="true"---设置为选中状态
为单选按钮添加选中状态改变的监听:
rb1.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // 如果为选中 if (isChecked) { } } });
给RadioGroup添加监听:
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { //根据checkedId来判断选中的RadioButton switch (checkedId) { case R.id.rb_1: Toast.makeText(MainActivity.this, "111", 0).show(); break; case R.id.rb_2: Toast.makeText(MainActivity.this, "2222", 0).show(); break; default: break; } } });
===============================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:
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> <item android:id="@+id/itemOpen" android:title="打开" android:orderInCategory="1"/> <item android:id="@+id/itemClose" android:title="关闭" android:orderInCategory="2"/> </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
@Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { //在代码中动态添加选项 super.onCreateContextMenu(menu, v, menuInfo); //添加标题头 menu.setHeaderTitle(R.string.ctxmenu_title); //参数:组id,条目id,排序(数越大越靠后),条目的文字描述 menu.add(0, 10, 100, "打开"); menu.add(0, 11, 20, "关闭"); }
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添加单击监听
ib.setOnClickListener(new OnClickListener() { public void onClick(View v) { MainActivity.this.finish(); } });
===================================MVC UI组件======================================
Spinner------下拉列表
常用属性/方法:
android:divider="@color/..."
android:divider="@drawable/..."----分割线样式
android:dividerHeight="3dp"--------分割线宽度
android:popupBackground="@android:color/holo_blue_light"----------弹出的背景//popup弹出
spinner.setSelection()-------------设置默认选中条目
使用:
// //创建Adapter //ArrayAdapter参数: 上下文目录, 布局文件(下拉前), 数据源(数组) // ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, data); // //设置下拉列表(下拉后)的样式 //自定义的 res/layout/spinner_item.xml // adapter.setDropDownViewResource(R.layout.spinner_item);//drop落下v // //spinner加载Adapter // spinner.setAdapter(adapter);
自定义布局资源文件 res/layout/spinner_item.xml:
<?xml version="1.0" encoding="utf-8"?> <TextView android:id="@+id/show" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/holo_green_light" xmlns:android="http://schemas.android.com/apk/res/android"> </TextView>
自定义字符串资源文件 res/values/arrays.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <array name="array_strings"> <item>新垣结衣</item> <item>长泽雅美</item> <item>崛北真希</item> <item>户田惠梨香</item> </array> </resources>
Java代码中使用:
String[] data = getResources().getStringArray(R.array.array_strings);
(注意:写在 setContentView(R.layout.activity_main); 之后)
Spinner设置监听:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) //position 位置n { Toast.makeText(MainActivity.this, position + 1 +" hahhah", Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } });
**注意:// 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 } });
相关文章推荐
- easyui环境搭建02
- Unique Paths II-leetcode
- cocoapods 0.35.0 版本 报错 Parsing unable to continue due to parsing error:
- UIBezierPath的自定义路径绘图
- LeetCode 062 Unique Paths
- CALayer 为什么选择 cg 开头 而 不选择 UI 开头
- Hbuilder--让手爽,飞一般的编码(二)
- ios UIButton的创建和使用入门
- UILabel
- HDU5538 House Building(简单计算)
- [leetcode-307]Range Sum Query - Mutable(java)
- SqlConnectionStringBuilder基础
- Druid:一个用于大数据实时处理的开源分布式系统
- LeetCode OJ:N-Queens(N皇后问题)
- UIImage与UIImageView属性总结以及手势识别器
- ContentProvider android:exported = “true”
- uint8_t , uint16_t,uint32_t,uint64_t
- UIStactView 新特性语法新介绍
- 排序算法的时间复杂度比较(quick_sort;bubble_sort)
- easyui环境搭建01