Android控件属性大全
2015-06-29 14:33
579 查看
EditText
// 获取光标当前位置 return dia_et_pwd.getSelectionStart(); // 获取文本框的内容 return dia_et_pwd.getText().toString(); // 清除文本框中的内容 dia_et_pwd.getText().clear(); // 删除指定位置的字符 dia_et_pwd.getText().delete(index - 1, index); // 设置光标位置 dia_et_pwd.setSelection(index);
设置文本框可滚动
<EditText android:id="@+id/displayText" android:layout_width="fill_parent" android:layout_height="match_parent" android:singleLine="false" android:scrollbars="vertical" android:editable="false" android:textSize="12px" android:focusable="false" />
java代码
EditText displayText = null; displayText = (EditText)findViewById(R.id.displayText); displayText.setMovementMethod(ScrollingMovementMethod.getInstance()); displayText.setSelection(displayText.getText().length(), displayText.getText().length()); displayText.getText().append("msg");
显示不同颜色的文字
textView.setText(Html.fromHtml("测试<font color=red >文字</font>")); // 往文本框中添加内容 public void addString(String sequence) { int index = getEditSelection();// 光标的位置 if (index < 0 || index >= getEditTextViewString().length()) { dia_et_pwd.append(sequence); Log.i(TAG, "str===" + str); } else { dia_et_pwd.getEditableText().insert(index, sequence);// 光标所在位置插入文字 } }
文本监听
class EditChangedListener implements TextWatcher { private CharSequence temp;//监听前的文本 private int editStart;//光标开始位置 private int editEnd;//光标结束位置 private final int charMaxNum = 10; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { if (DEBUG) Log.i(TAG, "输入文本之前的状态"); temp = s; } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (DEBUG) Log.i(TAG, "输入文字中的状态,count是一次性输入字符数"); mTvAvailableCharNum.setText("还能输入" + (charMaxNum - s.length()) + "字符"); } @Override public void afterTextChanged(Editable s) { if (DEBUG) Log.i(TAG, "输入文字后的状态"); /** 得到光标开始和结束位置 ,超过最大数后记录刚超出的数字索引进行控制 */ editStart = mEditTextMsg.getSelectionStart(); editEnd = mEditTextMsg.getSelectionEnd(); if (temp.length() > charMaxNum) { Toast.makeText(getApplicationContext(), "你输入的字数已经超过了限制!", Toast.LENGTH_LONG).show(); s.delete(editStart - 1, editEnd); int tempSelection = editStart; mEditTextMsg.setText(s); mEditTextMsg.setSelection(tempSelection); } } };
设置监听
mEditTextMsg.addTextChangedListener(new EditChangedListener());
在输入法中显示搜索的按钮并监听
Dialog
设置对话框消失的事件final Dialog_Main alertDialog = new Dialog_Main(getActivity(), R.style.my_dialog_style, dialog_view); alertDialog.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { ViewUtil.toast(appContext, "121212"); } });
设置点击对话框外部是否消失
setFinishOnTouchOutside(true);//
布局
RelativeLayoutjava代码设置布局对齐方式
RelativeLayout.LayoutParams labelParams = (LayoutParams) label.getLayoutParams(); labelParams.addRule(RelativeLayout.CENTER_HORIZONTAL, 0); // 取消水平居中 labelParams.addRule(RelativeLayout.BELOW, 0); // 取消显示到logo的下方 labelParams.addRule(RelativeLayout.RIGHT_OF, R.id.logo); // 显示到Logo的右方 labelParams.addRule(RelativeLayout.CENTER_VERTICAL); // 垂直居中 label.setLayoutParams(labelParams);
实用属性
android:duplicateParentState="true"
使用场景,布局中有一个文本控件,在布局内的范围点击都要触发布局的点击事件(包含selector的效果),但是你会发现点击布局中的文本后并没有出发布局的事件。这时就是需要设置
duplicateParentState
属性。true就是父控件响应点击事件。
<FrameLayout android:id="@+id/fx_record_right" android:layout_width="wrap_content" android:background="@drawable/fl_selector" android:clickable="true" android:gravity="center" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:duplicateParentState="true" android:layout_height="wrap_content" android:paddingRight="5dp" android:layout_gravity="center_horizontal|center_vertical" android:textSize="14sp" /> </FrameLayout>
相关文章推荐
- Android 手机影音 开发过程记录(三)
- (七十一)android中一个工程引用另一个工程
- Android开发之Bitmap.Config.RGB_565
- alipay--- Android 集成支付宝SDK实现快捷支付--详解
- [转]AndroidTolls国内镜像
- 篇三、开发前知识补充:Android的长度单位和屏幕分辨率,这个也是转载~~
- Android 禁止输入emoji表情符号
- Android.mk
- android studio 开发 sourcetree (四)
- Android4.2对webview中Javascript不能调用
- Android startActivities()的使用
- 搭建好Android的第一个程序。
- Android: 录音
- android菜鸟学习笔记10----Intent及<intent-filter>
- Android: 长按及松开处理
- Android,iOS打开手机QQ与指定用户聊天界面
- android设置横屏和竖屏的方法
- Android应用程序打包时,出现错误:"XXX" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arabic).....
- android的9.png研究
- android studio 导出jar 和 aar