TextViews的图库,使用样式等

时间:2011-09-23 20:34:59

标签: android

我想将Gallery用作水平菜单,因此我使用Gallery tutorial代码使用TextView代替ImageViews 1}}并更改适配器的String[]方法,如下所示......

getView((...)

我现在遇到的问题如图所示...

enter image description here

正如你所看到的,'选中'public View getView(int position, View convertView, ViewGroup parent) { TextView tv = new TextView(mContext); tv.setText(mMenuItems[position]); tv.setLayoutParams(new Gallery.LayoutParams(150, 100)); return tv; } 应该是'灰色'(尽管我可以选择它),其他项目是'突出显示的,我想反过来。所以问题是TextView做了什么导致这种情况以及如何覆盖它?

UI的东西是我的一个弱点(我正逐渐学会诚实)但我认为我需要定义样式,如此处所解释的那样...... Definining styles我理解正在解释的是什么,但我如何得到Gallery自动应用我定义的样式?我是否必须应用我从适配器的Gallery方法返回的TextView样式,还是可以“全局”将它们应用于getView(...)

1 个答案:

答案 0 :(得分:2)

您可以利用getSelectedItemPosition()相应地更新视图,但您需要参考图库视图(下面的mGallery):

public View getView(int position, View convertView, ViewGroup parent) {
    TextView tv = new TextView(mContext);
    tv.setText(mMenuItems[position]);
    tv.setLayoutParams(new Gallery.LayoutParams(150, 100));
    if (position == mGallery.getSelectedItemPosition()) {
        // set tv properties to make it look selected
    } else {
        // set tv properties to make it look unselected
    }
    return tv;
}