targe 删除 程序代码 rectangle 输入 corners 连接 init 高内聚低耦合
实现内容:
1.如何使用圆角输入框和按钮背景
2.如何实现“手机号”、“密码”后面的竖线
3.如何监听输入框的输入事件及删除按钮的动态显示隐藏
安卓为开发者准备了shape这个xml标签,用于自定义一些形状。
那么我就来定义一个白色的输入框背景。代码如下:
- <!-- 形状 -->
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle" >
- <solid android:color="#ffffff" />
- <!-- 边框 -->
- <stroke
- android:width="1dip"
- android:color="#ffffff" />
- <!-- 内填充颜色 -->
- <padding
- android:bottom="10dp"
- android:left="10dp"
- android:right="10dp"
- android:top="10dp" />
- <!-- 圆角 -->
- <corners android:radius="6dp" />
- </shape>
将其设置成任何View的background就可以了
- android: background = "@drawable/shape_wihte_frame"
这个其实很简单,只需书写一个竖线即可,宽度为1dp或者1px(或你认为更合适的数值)。
- <View
- android:id="@+id/view1"
- android:layout_width="1dip"
- android:layout_height="fill_parent"
- android:layout_centerVertical="true"
- android:layout_gravity="center_horizontal"
- android:layout_marginLeft="2dp"
- android:layout_marginRight="2dp"
- android:layout_toRightOf="@+id/textView1"
- android:background="#EEEFFF" />
思想很简单,就是监听EditText的输入事件,之后如果输入长度大于0就显示后面的删除按钮,如果=0就隐藏删除按键,点击删除按钮就清空输入框。在这里我写出了一个工具类方便大家调用。高内聚低耦合是我们共同的追求。
- public class EditTextClearTools {
- public static void addclerListener(final EditText e1, final ImageView m1) {
- e1.addTextChangedListener(new TextWatcher() {
- @Override
- public void onTextChanged(CharSequence s, int start, int before,
- int count) {
- // TODO Auto-generated method stub
- }
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count,
- int after) {
- // TODO Auto-generated method stub
- }
- @Override
- public void afterTextChanged(Editable s) {
- // TODO Auto-generated method stub
- // 监听如果输入串长度大于0那么就显示clear按钮。
- String s1 = s + "";
- if (s.length() > 0) {
- m1.setVisibility(View.VISIBLE);
- } else {
- m1.setVisibility(View.INVISIBLE);
- }
- }
- });
- m1.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- // 清空输入框
- e1.setText("");
- }
- });
- }
- }
- public class MainActivity extends Activity {
- EditText e1,
- e2;
- ImageView m1,
- m2;
- @Override protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- setContentView(R.layout.activity_user_login);
- init();
- }
- private void init() {
- // TODO Auto-generated method stub
- e1 = (EditText) findViewById(R.id.phonenumber);
- e2 = (EditText) findViewById(R.id.password);
- m1 = (ImageView) findViewById(R.id.del_phonenumber);
- m2 = (ImageView) findViewById(R.id.del_password);
- // 添加监听器
- EditTextClearTools.addclerListener(e1, m1);
- EditTextClearTools.addclerListener(e2, m2);
- }
- }
代码连接http://download.csdn.net/detail/androidmsky/9274037
转载于http://blog.csdn.net/androidmsky/article/details/49870823
android布局_EditText(一)
来源: http://www.bubuko.com/infodetail-2350739.html