不使用XML创建自己的自定义视图

时间:2010-10-04 22:40:39

标签: java android xml view

我想创建一个自定义视图,其中包含两个不使用xml的按钮。

我试过了:

public class ZoomPlate extends LinearLayout {

    private Context context;

    private Button plus;
    private Button minus;

    public ZoomPlate(Context context) {
        super(context);
        init(context);

    }

    public ZoomPlate(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context);
    }

    private void init(Context context) {
        this.context = context;     

        LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,0);

        plus = new Button(context);
        plus.setText("Plus");
        plus.setLayoutParams(params);

        minus = new Button(context);
        minus.setText("Minus");
        minus.setLayoutParams(params);

        setOrientation(LinearLayout.VERTICAL);


        addView(plus);
        addView(minus);
    }
}

这样我就可以像在按钮或文本视图中一样使用XML中的ZoomPlate:

<at.bartinger.zoomplate.ZoomPlate
    android:id="@+id/zoomplate"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" />

但是当我尝试这个时,什么都没有显示

2 个答案:

答案 0 :(得分:0)

如何将自定义视图添加到XML布局?您需要使用<com.blabla.bla.ViewName android:properties="whatever" />中的完整包名称。

答案 1 :(得分:0)

这可能与您在主Activity中设置为内容视图的内容有什么关系?点击这里: http://developer.android.com/reference/android/app/Activity.html#setContentView%28int%29

基本上你必须从布局资源或视图中设置它。