我有一个带偏好屏幕层次结构的首选项片段。我想添加一个自定义布局来定义一个"关于作者"部分,将imageview添加到元素和链接(意图浏览器)。我搜索了但是我没有找到关于这个主题的任何资源。
答案 0 :(得分:16)
在您的偏好设置xml文件(res/xml/prefs.xml
)中,添加带有自定义布局的Preference
:
<Preference
android:layout="@layout/custom_preference"/>
带有layout/custom_preference.xml
和ImageView
的{{1}}示例,其中包含将在浏览器中打开的链接:
TextView
答案 1 :(得分:0)
这只是卡门(2016年10月30日)回答的后续行动:
如果要动态更改自定义布局上的属性,则在屏幕加载后,不能使用以下内容:
PreferenceScreen customPref = (PreferenceScreen) findPreference("customPreference");
View prefRow = customPref.getView(null, null);
ImageView imageView = (ImageView)prefRow.findViewById(R.id.image_view);
imageView.setImageResource(R.drawable.whatever);
尽管它不会崩溃,但实际上不会做任何事情。奇怪而混乱。
您必须使用自定义类并覆盖 onBindView()
才能更改自定义布局上的属性。该技术的说明如下:How to manage custom preference layout
另一种方法是使用getView()
,但要确保使用View view = super.getView(convertView, parent);
:Android Set Custom Preference Layout