在Android3.0中,“选中”的概念可以使用“激活”的背景来呈现。当你点击一个列表片段时,你会看到一个持久的栏,为列表右侧的片段提供上下文(例如,点击Gmail中的一个文件夹会突出显示该文件夹,并打开另一个列表片段来显示该文件夹中的对话)。
例如,片段示例显示的内容如下:
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_activated_1, Shakespeare.TITLES));
该资源(android.R.layout.simple_list_item_activated_1
)是Android3.0中的新资源。使其“激活”的原因是:
android:background="?android:attr/activatedBackgroundIndicator"
该属性值是Android 3.0中的新属性,如果您尝试在Android的早期版本上使用它,据我所知,它会导致崩溃。我想为3.0/大/横向组合设置这个魔术值的背景,否则跳过它。
我可以通过拥有两个独立的布局版本来实现这一点,一个在-v11
资源集中,一个在常规资源集中。这比我希望的要少一点,因为布局的大部分都是一样的,只有一个属性要么被包含要么被跳过。
我尝试使用可绘制的资源别名,这样android:background
就可以引用别名,而别名将处理-v11
的区别,但是<bitmap>
可绘制的资源似乎不喜欢android:src="@null"
。
我怀疑有一种样式和主题的方法来解决这个问题,但由于我从来没有完全考虑过这些(这是我更尴尬的Android知识差距之一),我不完全确定该怎么做。
有没有人想出了一种模式,在3.0上使用“激活”,而在3.0之前的版本中跳过它,而不是单独的布局?
谢谢!
https://stackoverflow.com/questions/5274982
复制相似问题