Android 自定义输入框代码简单,输入框一般常用的控件,每次都写太麻烦,所以封装


 

 

package xyz.xl06.music.wigdet;import android.content.Context;import android.content.res.TypedArray;import android.support.annotation.NonNull;import android.support.annotation.Nullable;import android.text.InputType;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.EditText;import android.widget.FrameLayout;import android.widget.ImageView;import xyz.xl06.music.R;public class InputView  extends FrameLayout {    private int inputview_input_icon;    private String inputview_input_hint;    private boolean inputview_is_pass;    private View inflate;    ImageView imageView;    EditText editText;    public InputView(@NonNull Context context) {        super(context);        init(context, null);    }    public InputView(@NonNull Context context, @Nullable AttributeSet attrs) {        super(context, attrs);        init(context, attrs);    }    public InputView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);        init(context, attrs);    }    public void init(Context context,AttributeSet attr){                 if(attr==null){                     return;                 }        TypedArray typedArray = context.obtainStyledAttributes(attr, R.styleable.inputview);         inputview_input_icon = typedArray.getResourceId(R.styleable.inputview_input_icon, R.mipmap.ic_launcher);         inputview_input_hint = typedArray.getString(R.styleable.inputview_input_hint);         inputview_is_pass = typedArray.getBoolean(R.styleable.inputview_is_pass, false);         typedArray.recycle();         inflate = LayoutInflater.from(context).inflate(R.layout.inputview, this, false);        imageView=  (ImageView)inflate.findViewById(R.id.icon);        editText=  (EditText)inflate.findViewById(R.id.text);        imageView.setImageResource(inputview_input_icon);        editText.setText(inputview_input_hint);        editText.setInputType(inputview_is_pass?InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD:InputType.TYPE_CLASS_PHONE);        addView(inflate);    }    public String getString(){        return  editText.getText().toString().trim();    }}

inputview.xml

<?xml version="1.0" encoding="utf-8"?>    

使用

             

attr

<?xml version="1.0" encoding="utf-8"?>                                                        

 

更多相关文章

  1. 【Android】抽屉控件 SlidingDrawer 的简单示例
  2. Android(安卓)ToggleButton控件的用法
  3. Android(安卓)获取手机的一些基本信息类
  4. Android(安卓)Spinner控件之键值对用法
  5. Android(安卓)自定义日期控件,包含月控件
  6. Android(安卓)封装http请求的工具类
  7. Android(安卓)EditText 密码输入框可见性设置
  8. OnclickListener与View.OnclickListener
  9. Android复习(十一)

随机推荐

  1. 屏幕适配
  2. Retrofit系列文章翻译1—开始创建android
  3. Android(安卓)AIDL使用
  4. 学习Android界面开发: Shape Drawable
  5. android layout属性介绍
  6. Android(安卓)开发 VectorDrawable 矢量
  7. Java后端学Android(2)-Intent的使用
  8. 在Android中如何使用全局变量--Applicati
  9. 引入布局
  10. Android(安卓)Studio 自动生成注释(作者、