这是我不明白的地方:
HorizontalScrollView scroll = new HorizontalScrollView(this);
scroll.setLayoutParams(new LayoutParams(getResources().getInteger(R.integer.dim_hand_width), getResources().getInteger(R.integer.dim_hand_height)));
HandLayout = new LinearLayout(this);
HandLayout.setOrientation(LinearLayout.HORIZONTAL);
HandLayout.setBackgroundColor(getResources().getColor(R.color.bg_hand));
HandLayout.setLayoutParams(new LayoutParams(getResources().getInteger(R.integer.dim_hand_width), getResources().getInteger(R.integer.dim_hand_height)));
scroll.addView(HandLayout);
for (int i = 0; i < 8; i++){
Button b = new Button(this);
b.setWidth(200);
HandLayout.addView(b);
}
这显示了带有所有8个按钮的ScrollView,它是可滚动的 但是,当我用最后几行替换:
for (int i = 0; i < 8; i++){
HeroCard hc = new HeroCard(this);
HandLayout.addView(hc);
}
然后没有任何表现。 HeroCard是一个自定义视图,它只实现了onDraw和onCreate(Context context)方法(我不会复制代码,因为它就是这样)。
我的猜测是Button正在实现一个我不是的功能,这就是为什么它不是绘图。
有什么想法吗?
非常感谢!
答案 0 :(得分:1)
好像你没有为HeroCard
视图设置任何参数,它没有大小,尝试使用getLayoutParams()
恢复参数并修改宽度
答案 1 :(得分:1)
使用此:
hc.setWidth(200);
hc.setHeight(50);
在:
for (int i = 0; i < 8; i++){
HeroCard hc = new HeroCard(this);
HandLayout.addView(hc);
}
检查输出。