A笔记

1、列表项的默认颜色是:Color.TRANSPARENT,而不是白色,如果设成白色或者其它色,则会使touch反溃失效,因为你设置的这些色已经覆盖了反溃色的显示。

2、自定义widget的方法之一,组合。

     组合各种已有的组件变成新的组件,然后在layout xml里引用,这是相当高效的方法。可是网上大都是在新组件的构造函数里创建子组件,然后addView加进去,oh,my god,这是很发瘟的做法,你必须得看完并且很仔细地看完才能了解这一大堆java代码组建起来的UI是什么样子的。

     有没有像读到layout xml这样的方法呢?先择xml定义好外观,然后生成?当然是有的,先定义一个layout xml resource,然后在构造函数中使用LayoutInflater这个东东,当然要记住,在inflate的时候,attachRoot得是true,这样才能改变本扩展组件的UI。

示例:

public class CustomWidget extends LinearLayout {

    public CustomWidget(Context context, AttributeSet attrs) {
        super(context, attrs);

        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View view = inflater.inflate(R.layout.custom_ui, this, true);
    }

}

你可能感兴趣的:(A笔记)