在StateListDrawable之上的TextView



我试图让我的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());

布局包含在我的Activity的内容视图中的下面一行:

<include layout="@layout/inc_button_menu" android:id="@+id/second_menu_button" />

依次包含一个LinearLayout,其中有一个ImageView和两个textview。

当我试图从LinearLayout(我在我的活动中添加了StateListDrawable)中获得TextViews并向它们添加文本时,文本不显示。ImageView也是一样。我不确定如何才能让这些视图显示出来。

事实证明,这不是后面的代码,而是包含布局的代码。因为之前的代码是用可绘制的布局文件工作的,所以我假设它不是这段代码。问题是我在其中一个项目上使用了android:weight="1"

相关内容

  • 没有找到相关文章

最新更新