加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

自定义控件从xml获取属性值的优雅写法

发布时间:2020-12-16 00:06:30 所属栏目:百科 来源:网络整理
导读:public LinearLayoutManager (Context context,AttributeSet attrs, int defStyleAttr, int defStyleRes) { Properties properties = getProperties(context,attrs,defStyleAttr,defStyleRes); setOrientation(properties.orientation); .... } public stati
public LinearLayoutManager(Context context,AttributeSet attrs,int defStyleAttr,int defStyleRes) {
        Properties properties = getProperties(context,attrs,defStyleAttr,defStyleRes);
        setOrientation(properties.orientation);
       ....
    }

       public static Properties getProperties(Context context,int defStyleRes) {
            Properties properties = new Properties();
            TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.RecyclerView,defStyleRes);
            properties.orientation = a.getInt(R.styleable.RecyclerView_android_orientation,VERTICAL);
            properties.spanCount = a.getInt(R.styleable.RecyclerView_spanCount,1);
            properties.reverseLayout = a.getBoolean(R.styleable.RecyclerView_reverseLayout,false);
            properties.stackFromEnd = a.getBoolean(R.styleable.RecyclerView_stackFromEnd,false);
            a.recycle();
            return properties;
        }


           public static class Properties {
            /** @attr ref android.support.v7.recyclerview.R.styleable#RecyclerView_android_orientation */
            public int orientation;
            /** @attr ref android.support.v7.recyclerview.R.styleable#RecyclerView_spanCount */
            public int spanCount;
            /** @attr ref android.support.v7.recyclerview.R.styleable#RecyclerView_reverseLayout */
            public boolean reverseLayout;
            /** @attr ref android.support.v7.recyclerview.R.styleable#RecyclerView_stackFromEnd */
            public boolean stackFromEnd;
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读