×

listpreference log sum

listpreference(关于Android中的PreferenceScreen,我想让listpreference的summary显示dialog当前选项,应该如何实现)

admin admin 发表于2023-02-23 21:54:02 浏览45 评论0

抢沙发发表评论

本文目录

关于Android中的PreferenceScreen,我想让listpreference的summary显示dialog当前选项,应该如何实现

重写onSharedPreferenceChanged 方法
如下:
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals(KEY_LIST_PREFERENCE)) {
listPreference.setSummary(“Current value is “ + dialog.getText();
);
}
}
dialog中的值也可以暂时保存起来,然后取

如何修改ListPreference弹出dialog的样式

  1. 自定义个类继承ListPreference重写onPrepareDialogBuilder方法然后重写他checkItem的onclic方法 在onclick构建你想要的dialog就好了

  2. [*]protected void onPrepareDialogBuilder(Builder builder) { [*] int checkItem=getValueIndex(getValue()); [*] builder.setSingleChoiceItems(R.array.pref_search_limit_choices, checkItem, new

  3. DialogInterface.OnClickListener() { [*] [*] public void onClick(DialogInterface dialog, int which) { [*] // 在这里面构建你要的dialog[*] ......[*] });[*] ......[*]}

android livewallpaper地球动态壁纸怎么实现的

对于Android 2.1来说Live Wallpapers动态壁纸的加入为Android桌面加入了更好的动态效果。如何开发一个Android动态桌面呢? 下面Android123给大家一个详细的步骤创建属于你自己的Live Wallpaper吧。
  1. 首先我使用Eclipse创建一个标准的Android工程这里package name我们使用cn.com.android123.cwj,然后进入工程的/res/文件夹,删除layout这个文件夹,当然里面的main.xml也会被删除的,对于Live Wallpaper来说传统的布局文件是不需要的。
  2. 类似AppWidget一样,我们可以加入动态壁纸的设置界面,我们在/res/文件夹中新建一个名为xml的文件夹,新建一个utf8编码的xml文件,名为livewallpaper.xml,内容为
  《?xml version=“1.0“ encoding=“utf-8“?》
  《wallpaper xmlns:android=“
  《activity android:label=“@string/livewallpaper_settings“
  android:name=“.LiveWallpaperSettings“
  android:theme=“@android:style/Theme.Light.WallpaperSettings“
  android:exported=“true“
  android:icon=“@drawable/icon“》
  《/activity》
  5. 由于Android动态壁纸是2.1 API Level为7才加入的,所以设置好minSDK以及需要设备支持动态壁纸,我们在androidmanifest.xml中加入
  《uses-sdk android:minSdkVersion=“7“ /》
  《uses-feature android:name=“android.software.live_wallpaper“ /》
  6. 对于文中ListPreference用到的数组,及代码中涉及的颜色数组,我们在/res/values/ 文件夹中创建一个名为testpatterns.xml 的文件,内容为
  《?xml version=“1.0“ encoding=“utf-8“?》
  《resources xmlns:xliff=“urn:oasis:names:tc:xliff:document:1.2“》
  《string-array name=“livewallpaper_testpattern_names“》
  《item》“Color Bars 16x9“《/item》
  《item》“Color Bars 4x3“《/item》
  《item》“EBU Color Bars“《/item》
  《/string-array》
  《string-array name=“livewallpaper_testpattern_prefix“》
  《item》“smpte“《/item》
  《item》“bars“《/item》
  《item》“ebu“《/item》
  《/string-array》
  《integer-array name=“smptecolors“》
  《item》0xFF696969《/item》
  《item》0xFFC1C1C1《/item》
  《item》0xFFC1C100《/item》
  《item》0xFF00C1C1《/item》
  《item》0xFF00C100《/item》
  《item》0xFFC100C1《/item》
  《item》0xFFC10000《/item》
  《item》0xFF0000C1《/item》
  《item》0xFF696969《/item》
  《item》0xFF00FFFF《/item》
  《item》0xFFFFFF00《/item》
  《item》0xFF052550《/item》
  《item》0xFF36056D《/item》
  《item》0xFF0000FF《/item》
  《item》0xFFFF0000《/item》
  《item》0xFFC1C1C1《/item》
  《item》0xFF2B2B2B《/item》
  《item》0xFF050505《/item》
  《item》0xFFFFFFFF《/item》
  《item》0xFF050505《/item》
  《item》0xFF000000《/item》
  《item》0xFF050505《/item》
  《item》0xFF0A0A0A《/item》
  《item》0xFF050505《/item》
  《item》0xFF0D0D0D《/item》
  《item》0xFF050505《/item》
  《item》0xFF2b2b2b《/item》
  《/integer-array》
  《integer-array name=“barscolors“》
  《item》0xFFC0C0C0《/item》
  《item》0xFFC0C000《/item》
  《item》0xFF00C0C0《/item》
  《item》0xFF00C000《/item》
  《item》0xFFC000C0《/item》
  《item》0xFFC00000《/item》
  《item》0xFF0000C0《/item》
  《item》0xFF0000C0《/item》
  《item》0xFF131313《/item》
  《item》0xFFC000C0《/item》
  《item》0xFF131313《/item》
  《item》0xFF00C0C0《/item》
  《item》0xFF131313《/item》
  《item》0xFFC0C0C0《/item》
  《item》0xFF00214C《/item》
  《item》0xFFFFFFFF《/item》
  《item》0xFF32006A《/item》
  《item》0xFF131313《/item》
  《item》0xFF090909《/item》
  《item》0xFF131313《/item》
  《item》0xFF1D1D1D《/item》
  《item》0xFF131313《/item》
  《/integer-array》
  《integer-array name=“ebucolors“》
  《item》0xFFBFBFBF《/item》
  《item》0xFFBFBF00《/item》
  《item》0xFF00BFBF《/item》
  《item》0xFF00BF00《/item》
  《item》0xFFBF00BF《/item》
  《item》0xFFBF0000《/item》
  《item》0xFF0000BF《/item》
  《item》0xFF000000《/item》
  《/integer-array》
  《/resources》
  转载

如何修改lListPreference弹出的dialog的样式

自定义个类继承ListPreference重写onPrepareDialogBuilder方法然后重写他checkItem的onclic方法 在onclick构建你想要的dialog就好了[*]protected void onPrepareDialogBuilder(Builder builder) { [*] int checkItem=getValueIndex(getValue()); [*] builder.setSingleChoiceItems(R.array.pref_search_limit_choices, checkItem, new DialogInterface.OnClickListener() { [*] [*] public void onClick(DialogInterface dialog, int which) { [*] // 在这里面构建你要的dialog[*] ......[*] });[*] ......[*]}

如何设置ListPreference的默认值

  HTML 表单中《form》 标签用于为用户输入创建 HTML 表单。表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。表单还可以包含 menus、textarea等 元素。它的作用是向服务器传输数据。
  设置表单的默认值,只需给表单元素的value属性赋值即可。示例如下:
《!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN“ “

《html》
《head》
《meta

怎么在preferencefragment显示自定义导航栏

关于自定义Preference内置控件及PreferenceFragment笔记,有需要的朋友可以参考下。
我们知道系统Preference提供的控件并不多,只有CheckBoxPreference,ListPreference,EditTextPreference,RingtonePreference等为数不多的控件,有时候并不能满足我们的需求.这时候我们就需要自定义,比如自定义一个SeekBar用来调节音量什么的.这里我就不介绍如何自定义包含SeekBar的Preference,大家可以查看Android自定义SeekBarPreference.
这里需要提及的是,我们自定的这个控件,往往需要和Activity或者Service通信,这时候该怎么操作呢?
我们同样还是以SeekBarPreference为例.我们都知道,当滑动SeekBar的时候,系统会回调onProgressChanged方法.假如我们需要在onProgressChanged中与
Activity/Fragment/Service通信.这时候就需要定义一个接口在其中声明我们需要用到的方法.然后声明一个函数,将接口的引用作为参数提供给Activity/Fragment/
Service调用.
public class VolumeSeekBarPreferences extends DialogPreference implements OnSeekBarChangeListener {
private seekBarCallBack back;
....
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
....
back.setSeekBarVolume(mCurrentValue);
....
}

....
public interface seekBarCallBack{
public void setSeekBarVolume(int volume);
}

public void setSeekbarListener(seekBarCallBack barCallBack){
back = barCallBack;
}
}
然后,在Activity/Fragment/Service中通过实现控件Preference中的传递接口引用的函数.
public class MyPreferenceFragment extends PreferenceFragment implements
OnPreferenceClickListener, OnPreferenceChangeListener {
private VolumeSeekBarPreferences seekBarPreferences;
.....
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.preference_setting);
//VolumeSeekBarPreferences为我们自定义的Preference控件
seekBarPreferences = (VolumeSeekBarPreferences) findPreference(“seekBarPreference“);
seekBarPreferences.setSeekbarListener(new seekBarCallBack() {
@Override
public void setSeekBarVolume(int volume) {
// TODO Auto-generated method stub
//在这里实现通信
}
});
}
.....
}

ListPreference可以实现多选框吗

在访问页面时让家具和球类的子复选框的属性disabled=true 失效
在家具的复选框写一个onclick 事件调用js函数
function check(){
//var jiaju =document.表单名.复选框名; 获得复选框对象
var jiaju =document.getElementById(“id名“) 通过id获得对象
if(jiaju.checked==true){
//你可以在这里一个一个的获得子复选框的对象 把disabled=false
var jiaju =document.getElementById(“id名“).disabled=false;
.....

//你也可以把子复选框的那么属性名相同,就可以用循环把disabled=false
var jiajus = document.getElementsByName(“子复选框名“) //获得的是一个对象数组
for(var i=0;i《jiajus.length;i++){
jiajus[i]=disabled=false;
}
}else{
//这其实可不写
//如果你不选中家具复选框的话你也可以让其在次失效
//在时效之前你可以让子复选框还原不选中的状态
var jiajus = document.getElementsByName(“子复选框名“)
for(var i=0;i《jiajus.length;i++){ //再次不选家具时还原子复选框
jiajus[i]=checked=false;
}
for(var i=0;i《jiajus.length;i++){ //把子复选框再次失效状态
jiajus[i]=disabled=false;
}
}

}
球类也一样这样做