android 关于自定义view的问题

public class MyLayout extends RelativeLayout{

private Context context;

public MyLayout(Context context){
    super(context);
    this.context = context;

    RelativeLayout main = new RelativeLayout(context);

    RelativeLayout.LayoutParams lp_main_view = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT);

    main.setBackgroundColor(Color.parseColor("#FF00FF"));

    main.setLayoutParams(lp_main_view);

    /*GifView gif_view = new GifView(context);
    gif_view.setGifImage(R.drawable.gif_test);


    RelativeLayout.LayoutParams lp_gif_view = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    lp_gif_view.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    lp_gif_view.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
    // btn1 位于父 View 的顶部,在父 View 中水平居中
    main.addView(gif_view, lp_gif_view);*/


    TextView t = new TextView(context);
    t.setText("怎么就不显示呢");
    RelativeLayout.LayoutParams lp_t_view = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

    lp_t_view.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    lp_t_view.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);

    main.addView(t, lp_t_view);
}

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
    super.onLayout(changed, l, t, r, b);
}

/**
 * 测量尺寸时的回调方法
 */
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

}

以上是我自定义的view

我在activity里

MyLayout myLayout = new MyLayout(this);
setContentView(myLayout);

以这种方式加载 为什么显示不出来 求解

5个回答

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24252901
很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章。先总结下自定义View的步骤:
1、自定义View的属性
2、在View的构造方法中......
答案就在这里:Android 自定义View (一)
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

自定义view一般都放在布局里,然后再用id去初始化这个自定义view

这种写法没见过.
一般都是继承View,然后添加三个构造方法,这样new出来就能显示出来了.

试了下,不管怎么用,你这个自定义的都有问题

不要闹,你自定一个容器,为什么new一个新的Relativelayout,你一直向新容器添加东西,自身的容器一直是空的,显示是自身容器,你觉得会有数据吗

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!