我似乎无法得到一个定制的分频器,使用ListActivity,而不是创建自定义ListView在使用可抽拉我定义,工作。这看起来几乎是当虚拟机为我创建自己的ListView,与ListActivity,它使用与提供的默认分隔一个主题等;如果我尝试,以提供一个无分隔出现在所有ListView

我知道我可以使用XML创建自定义ListView和定义的android:对ListView分频器,这确实认识我的自定义分隔绘制对象。但我宁愿只是让ListActivity创建自己的ListView,如果我能想出如何得到我自己的分频器就可以工作。

下面是我现在使用的代码:

public class Categories extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final String[] OPTIONS = {
            "Hello",
            "Goodbye",
            "Good Morning",
            "Greetings",
            "Toodaloo"
        };

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            this, android.R.layout.simple_list_item_1, OPTIONS);
        setListAdapter(adapter);

        ListView lv = getListView();
        PaintDrawable sage = new PaintDrawable(R.drawable.sage);
        lv.setDivider(sage);
        lv.setDividerHeight(1);
    }
}
有帮助吗?

解决方案

我计算出来。这个问题没有任何关系与ListActivity产生一个ListView我。这是在我是如何限定的Java代码的分隔符。

有两种方式,我看到的是自动从ListActivity膨胀的ListView控件定义分隔(ListView的行之间的边界),如果你想在XML来定义颜色:

方法1:

在RES /值/ colors.xml,把下面的:

<resources>
 <color name="sage">#cceebb</color>
</resources>

在您的延伸ListActivity级,操作如下:

ListView lv = getListView();
ColorDrawable sage = new ColorDrawable(this.getResources().getColor(R.color.sage));
lv.setDivider(sage);
lv.setDividerHeight(1);

方法2:

在RES /值/ colors.xml:

<resources>
 <drawable name="sage">#cceebb</drawable>
</resources>

而在你的类,它扩展ListActivity:

ListView lv = getListView();
ColorDrawable sage = new ColorDrawable(this.getResources().getColor(R.drawable.sage));
lv.setDivider(sage);
lv.setDividerHeight(1);

其他提示

要设置在分频器列表视图编程

这些代码把里面在的.java

   ListView lv = (ListView) findViewById(R.id.lv);
   lv.setDivider(getResources().getDrawable(R.drawable.drawable_divider));
   lv.setDividerHeight(1);

<强>创建绘制对象:{RES>绘制>的 drawable_divider.xml }

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"

    android:shape="rectangle">

    <solid android:color="#ececec"></solid>

</shape>

试试这个代码:

searchText.setBackgroundColor(getResources().getColor(R.color.wordColorBlack));
ListView lv = getListView();
lv.setDivider(getResources().getDrawable(R.drawable.divider2));
lv.setDividerHeight(2);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top