1,EditText基本属性【常用属性】
EditText继承关系:View-->TextView-->EditText。
android:layout_gravity="center_vertical" //在父控件中放置位置
android:gravity="center" //内容在当前控件中的位置
center/bottom/center_horizontal/center_vertical/end/left/right 这些为常用选择,可使用 | 组合使用,作用域越小优先级越高。
android:hint="默认提示信息" //未编辑状态下的提示消息,如:“请输入密码”
android:text="填充内容" //显示的内容,可根据控件获取到
android:textColor = "#ff8c00" //字体颜色
android:textStyle="bold" //bold:黑体, italic:斜体,normal:正常
android:password="true" //密码模式输入,黑点的方式显示
android:textSize="20sp" //文字大小
android:capitalize = "characters" //以大写字母写
characters,none,sentences,words,现如今使用InputType替换
android:textColorHighlight="#cccccc" //被选中文字的底色,默认为蓝色
android:textColorHint="#ffff00" //设置提示信息文字的颜色,默认为灰色
android:textScaleX="1.5" //控制字与字之间的间距
android:typeface="monospace" //字型,normal, sans, serif, monospace 【字体】
android:background="@null" //空间背景,这里没有,指透明 color/drawble/Android自带
android:numeric="integer" //设置只能输入整数,decimal :小数,signed:带符号,正负数
android:singleLine="true" //设置单行输入,一旦设置为true,则文字不会自动换行。
android:layout_weight="1" //权重,控制控件之间的权重,屏幕适配小技巧之一。
android:padding="15dp" //内容距边距多少 padding:四周,
paddingTop,paddingBottom,paddingLeft,paddingRight
android:layout_margin="25dp"
marginTop,marginBottom,marginLeft,marginRight
android:maxLength="20"//最长20个字节
android:maxLines="2"//最多2行
android:maxWidth="50dp"//最宽50dp
创建项目默认匹配最高Android平台版本
2,监听器
public class MainActivity extends AppCompatActivity {
private EditText bodyEditText1;
private EditText bodyEditText2;
private EditText bodyEditText3;
private EditText bodyEditText4;
private EditText bodyEditText5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initTextWatcher();
setOnEdittorListener();
}
/**
* 编辑完成点击确认键执行动作
*/
private void setOnEdittorListener() {
bodyEditText1.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
bodyEditText4.setTextColor(Color.CYAN);
return false;
}
});
bodyEditText2.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
bodyEditText5.setTextColor(Color.CYAN);
/**
* 返回true,debug会执行两次【此时有网络请求一定需要注意】
* 在Android硬件上开发时注意:OnEditorActionListener相当于确认提交
*/
return true;
}
});
}
/**
* 添加内容编辑监听器
*/
private void initTextWatcher() {
bodyEditText1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
String str = bodyEditText1.getText().toString().trim();
Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
if (str.length() > 10) {
bodyEditText4.setText(str);
}
}
});
bodyEditText2.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
String str = bodyEditText2.getText().toString().trim();
Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
if (str.length() > 6) {
bodyEditText2.setInputType(InputType.TYPE_CLASS_TEXT);
}
if (str.length() > 10) {
bodyEditText5.setText(str);
}
}
});
bodyEditText3.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
String str = bodyEditText2.getText().toString().trim();
Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
if (str.length() > 10) {
bodyEditText5.setText(str);
bodyEditText5.setVisibility(View.VISIBLE);
} else {
bodyEditText5.setVisibility(View.GONE);
}
}
});
}
/**
* 初始化View
*/
private void initView() {
bodyEditText1 = (EditText) findViewById(R.id.body_et1);
bodyEditText2 = (EditText) findViewById(R.id.body_et2);
bodyEditText3 = (EditText) findViewById(R.id.body_et3);
bodyEditText4 = (EditText) findViewById(R.id.body_et4);
bodyEditText5 = (EditText) findViewById(R.id.body_et5);
}
}
TextWatcher、EditorActionListener
3,selector
selector:
selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/edittext_bg_focus" android:state_focused="true" />
<item android:drawable="@drawable/edittext_bg_nomal" android:state_focused="false" />
</selector>
edittext_bg_focus:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="3dp" />
<stroke
android:width="2dp"
android:color="@color/blue"
android:dashGap="10dp"
android:dashWidth="20dp" />
<solid android:color="@color/blue_lower" />
</shape>
edittext_bg_nomal:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="3dp" />
<stroke
android:width="2dp"
android:color="@color/gray"
android:dashGap="10dp"
android:dashWidth="20dp" />
<solid android:color="@color/green_lower" />
</shape>
4,ListView属性强化
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@color/white"
android:dividerHeight="40dp"
android:footerDividersEnabled="true"
android:headerDividersEnabled="true" />
</LinearLayout>
这里是源码(⊙o⊙)哦
千万不要成为一个没有原则的滥好人,这样你帮助过的人不会感谢你,你没帮助到的人会怨恨你。
1、升米恩,斗米仇
2、锦上添花咱不干,雪中送炭显真情
3、以德报怨,何以报德?以直报怨,以德报德
4、学会拒绝
5、你不让少数人讨厌你,就无法让更多人喜欢你
修炼情商,缓步款行~~
2、锦上添花咱不干,雪中送炭显真情
3、以德报怨,何以报德?以直报怨,以德报德
4、学会拒绝
5、你不让少数人讨厌你,就无法让更多人喜欢你