Android实现个人中心设置界面

这个页面很简单,大神绕路,就是比较繁琐而已,在哪个博客上看到,本来准备偷懒一下,但是看到要积分,我就无语了

于是自己动手写一个,放在github上,不要积分,不要积分--------

 

因为条目都是相同的 所以使用自定义

自定义控件还是那几个步骤

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="版本更新"     //更换字体
    />

  地址  :https://github.com/xueliang0614/PersonCenter

使用方式

(注意点:copy  nav_bar 类 以及 资源包中  attr.xml到自己的包中)

(复制自定义类的路径 )

(粘贴到xml 中)

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐