Android中自定义Preference的使用
来源:互联网 发布:中国中车 知乎 编辑:程序博客网 时间:2024/05/15 04:22
有时候为了自定义布局的风格,需要自定义Preference,它的使用很简单,拿设置中的一个例子做为模板:
import com.android.settings.R;import com.google.common.collect.Lists;import android.content.Context;import android.preference.Preference;import android.util.AttributeSet;import android.view.View;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.List;/** * Creates a percentage bar chart inside a preference. */public class UsageBarPreference extends Preference { private PercentageBarChart mChart = null; private final List<PercentageBarChart.Entry> mEntries = Lists.newArrayList(); public UsageBarPreference(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setLayoutResource(R.layout.preference_memoryusage); } public UsageBarPreference(Context context) { super(context); setLayoutResource(R.layout.preference_memoryusage); } public UsageBarPreference(Context context, AttributeSet attrs) { super(context, attrs); setLayoutResource(R.layout.preference_memoryusage); } public void addEntry(int order, float percentage, int color) { mEntries.add(PercentageBarChart.createEntry(order, percentage, color)); Collections.sort(mEntries); } @Override protected void onBindView(View view) { super.onBindView(view); mChart = (PercentageBarChart) view.findViewById(R.id.percentage_bar_chart); mChart.setEntries(mEntries); } public void commit() { if (mChart != null) { mChart.invalidate(); } } public void clear() { mEntries.clear(); }}
它的Layout文件如下:PercentageBarChart是自定义的View。
res/layout/preference_memoryusage.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" android:paddingEnd="?android:attr/scrollbarSize" android:paddingStart="@*android:dimen/preference_widget_width"> <com.android.settings.deviceinfo.PercentageBarChart android:id="@+id/percentage_bar_chart" android:layout_width="match_parent" android:layout_height="32dip" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" settings:minTickWidth="6dip" settings:emptyColor="@color/memory_avail"> </com.android.settings.deviceinfo.PercentageBarChart></LinearLayout>
0 0
- Android中自定义Preference的使用
- Android中Preference的使用
- Android中preference的使用
- Android中preference的使用
- Android中preference的使用
- Android中preference的使用
- Android中preference的使用
- android中Preference的使用
- Android中Preference的使用
- Android中preference 自定义样式
- Android中preference的使用(一)
- Android中preference的使用(二)
- Android中preference的使用(一)
- Android中preference的使用(二)
- Android中preference的使用(一)
- Android中preference的使用(二)
- Android中preference的使用(一)
- Android中preference的使用(二)
- java之异常的捕获及处理
- Android
- Objective-C 语法快速参考
- 为人处事说话技巧思维
- NSString的各种用法总结(创建、截取、判断比较、转化数据类型、拼接、替换、添加、追加、读取、写入、删去、...
- Android中自定义Preference的使用
- Android开发之使用ViewPager做引导页面
- UVA 11806 - Cheerleaders(数论+容斥原理)
- ORA-27046: file size is not a multiple of logical block size
- Sort Colors
- xml 学习笔记 3.xml Schema
- 初学Java,调用父类方法(十一)
- Asp.Net MVC 常用开发方式之EF Code First
- WTL 学习笔记 -- CSplitterWindow