Android 基础组件
来源:互联网 发布:全民飞机双打飞跃算法 编辑:程序博客网 时间:2024/05/14 03:38
View监听事件
- View的事件是所有的视图组件都支持的。
- OnClickListener
- OnLongClickListener false:继续执行其他事件 true:事件到此为止
- 每一个对应的监听器,都是指,在特定的事件中,才会去触发,比如点击事件,必须要点击组件
,才会触发监听器中的方法。用户与app交互的唯一途径。 - enabled: 是否可以使用的组件,如果为false,说明不接受任何的用户事件
EditText 输入框,用于接受用户的文字信息
1. EditText 继承于 TextView2.3.4. digits: 只允许输入的属性5. inputType: 输入的类型 数字型(自动弹出数字键盘),密码类型(隐藏输入的内容)6.7. hint: 提示8. textColorHint :提示字体颜色9.10. imeOptions : 设置回车键的样式(测试阶段在去处理)11.12. maxLength : 最大的字符个数
监听器
1. OnEditorActionListener : 按下回车键的时候执行该监听器。2. TextChangedListener : 当文本内容改变的时候执行该监听器3. OnFocusChangeListener : 焦点改变时的监听4.5.6. EditText一般不要设置点击事件,内部已经做了点击处理,如果自己又做了点击事件,需要点击两次。
监听器中有两种模式
1. setOnXXXListener 监听器只能存在一个,一旦从新设置,前面一个就无效了2. addXXX() 可以同时存在多个监听器,一旦事件产生,所有监听器都会同时需响应
获取焦点
- xml: 在EditText标签中加入标签
- java:用EditText的实例去调用requestFocus()方法
RadioButton
1. Object2. -View3. -TextView4. -Button5. -CompoundButton 可以被选中的Button的父类6. -RadioButton7. -CheckBox8. -Toggle9. -Switch
RadioButton一定需要分组,界面上有可能出现多组RadioButton,使用RadioGroup
RadioGroup是一个布局,继承于LinearLayout.默认垂直排列,可以修改orientation来改变布
局
1. xml : android:checked 默认是否被选中 不要使用 有Bug
2. java : isCheck() setCheck() 使用java代码来做默认值,没有bug
监听事件
1. RadioButton.setOnCheckedChangeListener();2. CompoundButton.OnCheckChangeListener:3. public void onCheckedChanged(CompoundButton 状态改变的button,boolean 是否被选中)4.5.6. 一般开发中 使用下面这种模式7. RadioGroup.setOnCheckedChangeListener();8. RadioGroup.OnCheckChangeListener:9. public void onCheckedChanged(RadioGroup 状态改变的组, int 被选中的ButtonId号)
CheckBox
和RadioButton相同,区别在于是多选按钮,同时可以多个被选中,每一个组件都有true和
false两种check状态
1. android:checked1. 一般使用CompoundButton的OnCheckedChangeListener1. xml中使用@null来将背景或者button按钮图片取消
动态代码创建
1. 1.所有的xml中的组件都可以使用构造方法来创建。2. 2.setContentView(View view)3. 3.可以使用LayoutInflate来加载xml文件1. 如果需要设置布局属性,必须使用LayoutParams2. 每一个布局都会有一个对应的LayoutParams的内部类1. ViewGroup.LayoutParams2. layout_width3. layout_height4.5. ViewGroup.MargeLayoutParams6. layout_leftMarge7. layout_rightMarge8. ...9.10. LinearLayout.LayoutParams11. layout_gravity12. layout_weight13.14. RelativeLayout.LayoutParams15. 15个方法都位于类中16.1. 1. 比较简单的布局可以使用动态代码2. 2. 重复率比较高的布局3. 3. 不确定的布局
阅读全文