Android终端实现个人中心界面

220 阅读1分钟

实现个人中心的页面需要的步骤:

1创建类继承LineLayout

2创建Attrs.xml 自定义属性

3遍历属性

4控件中使用

public class nav_bar extends LinearLayout {
private Context con;
private int inputview_input_icon;
private String inputview_input_hint;
private boolean inputview_is_pass;

private int right_icon;
private View inflate;
ImageView imageView;
TextView editText;
private View tv_search;

public nav_bar(@NonNull Context context) {
    super(context);
    init(context, null);
    this.con=context;
}

public nav_bar(@NonNull Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
    init(context, attrs);
}

public nav_bar(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    init(context, attrs);
}


private void init(Context context, AttributeSet attrs) {
    if(attrs==null){
        return;
    }
        //重点
      //获取属性
    TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.nav);
    inputview_input_icon = typedArray.getResourceId(R.styleable.nav_icon, R.mipmap.ic_launcher);
    right_icon = typedArray.getResourceId(R.styleable.nav_right_icon, R.mipmap.ic_launcher);
    inputview_input_hint = typedArray.getString(R.styleable.nav_hint);
   //释放
     typedArray.recycle();

    inflate = LayoutInflater.from(context).inflate(R.layout.nav_bar, this, false);
    //imageView=  (ImageView)inflate.findViewById(R.id.tou);
    editText=  (TextView)inflate.findViewById(R.id.title);
    imageView=  (ImageView)inflate.findViewById(R.id.back);
    imageView.setImageResource(inputview_input_icon);
    editText.setText(inputview_input_hint);
    //editText.setInputType(inputview_is_pass?);
    addView(inflate);

}

<com.example.utils.nav_bar
my:icon="@mipmap/product_info_icon"//更换图标
my:hint=“版本更新” //更换字体
/>

(复制自定义类的路径 )

在这里插入图片描述

(粘贴到xml 中)
在这里插入图片描述