我似乎无法使用我定义的 Drawable 获得自定义分隔线,以便在使用ListActivity
并且不创建自定义ListView
。这几乎就像虚拟机创建自己的ListView
对我来说,与ListActivity
,它使用提供默认分隔线的主题;如果我尝试提供一个,则不会出现分隔符ListView
at all.
我知道我可以创建一个自定义ListView
使用 XML 并定义 android:dividerListView
,这确实识别了我的自定义分隔线 Drawable。但我宁愿让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 代码中定义分隔符的方式。
如果您想在 XML 中定义颜色,我认为有两种方法可以在从 ListActivity 自动膨胀的 ListView 上定义分隔线(ListView 行之间的边框):
方法一:
在 res/values/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);
方法二:
在 res/values/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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)