StateListDrawable顶部的TextView

时间:2013-04-04 21:14:57

标签: android textview imageview statelistdrawable

我正在尝试让我的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也是如此。我不确定我是如何能够让这些视图出现的。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

事实证明,这不是代码背后的代码,而是包含布局的代码。由于代码之前使用布局文件作为drawable,我认为它不是这个代码。问题是我在其中一个项目上使用了android:weight =“1”。