我有一个自定义的视图类从视图扩展,我想在活动中使用它,但它不显示任何内容。它没有运行错误,但黑屏没有输出。我的代码如下:自定义视图不显示
public class MoveableMenuLayout extends View {
public MoveableMenuLayout(Context context, AttributeSet attrs) {
super(context, attrs);
LinearLayout ll = new LinearLayout(context);
ll.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
TextView tv = new TextView(context);
tv.setText("TES_______________");
ll.addView(tv);
this.invalidate();
this.requestLayout();
}
public MoveableMenuLayout(Context context) {
super(context);
LinearLayout ll = new LinearLayout(context);
ll.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
TextView tv = new TextView(context);
tv.setText("TES_______________");
ll.addView(tv);
this.invalidate();
this.requestLayout();
}
}
呼叫Activity
public class TestActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MoveableMenuLayout layout = new MoveableMenuLayout(this);
setContentView(layout);
}
}
我已经将其包含在XML布局,但仍然没有输出试过。我不确定我做错了什么。我不想改变我希望它成为一个单独的类的风格,我知道我可以使用xml布局并直接在带有setcontentview的Activity中进行设置,但我不想那样做。谢谢
首先创建的线性布局不会被添加到任何视图中。而且你也不能添加任何其他视图到简单的视图,因为它不是一个容器。你可以尝试扩展你的MoveableMenuLayout – Triode 2013-02-19 17:05:12