我正在尝试让我的TextViews和ImageView显示在我添加StateListDrawable的LinearLayout之上。我创建了这样的按钮:
protected StateListDrawable generateButton(String[] colors, String[] selectColors, String strokeColor, int strokewidth)
{
int[] iColors = CurrentTheme.getIntColorArrayFromStringArray(colors);
GradientDrawable gd = new GradientDrawable(Orientation.TL_BR, iColors);
gd.setCornerRadius(10);
gd.setStroke(strokewidth, Color.parseColor(strokeColor));
int[] iSelectColors = CurrentTheme.getIntColorArrayFromStringArray(selectColors);
GradientDrawable sgd = new GradientDrawable(Orientation.TL_BR, iSelectColors);
sgd.setCornerRadius(10);
sgd.setStroke(strokewidth, Color.parseColor(strokeColor));
StateListDrawable slDrawable = new StateListDrawable();
slDrawable.addState(new int[] { android.R.attr.state_pressed }, sgd);
slDrawable.addState(StateSet.WILD_CARD, gd);
return slDrawable;
}
在我的活动中,我将这个drawable添加到linearLayout中,如下所示:
_topMenuButton.setBackgroundDrawable(_theme.getPrimaryButtonDrawable());
布局包含在我的活动的内容视图中的以下行:
<include layout="@layout/inc_button_menu" android:id="@+id/second_menu_button" />
其中包含一个LinearLayout,里面有一个ImageView和两个TextView。
当我尝试从LinearLayout(我在我的Activity中添加StateListDrawable)中获取TextViews并向其添加Text时,文本不会显示。 ImageView也是如此。我不确定我是如何能够让这些视图出现的。
非常感谢任何帮助。
答案 0 :(得分:0)
事实证明,这不是代码背后的代码,而是包含布局的代码。由于代码之前使用布局文件作为drawable,我认为它不是这个代码。问题是我在其中一个项目上使用了android:weight =“1”。