RingtonePreference中属性修改

    <!-- Base attributes available to RingtonePreference. -->
    <declare-styleable name="RingtonePreference">
        <!-- Which ringtone type(s) to show in the picker. -->
        <attr name="ringtoneType">
            <!-- Ringtones. -->
            <flag name="ringtone" value="1" />
            <!-- Notification sounds. -->
            <flag name="notification" value="2" />
            <flag name="notification_2" value="16" />
            <!-- Alarm sounds. -->
            <flag name="alarm" value="4" />
            <!-- All available ringtone sounds. 7 to 23-->
            <flag name="all" value="23" />
        </attr>
        <!-- Whether to show an item for a default sound. -->
        <attr name="showDefault" format="boolean" />
        <!-- Whether to show an item for 'Silent'. -->
        <attr name="showSilent" format="boolean" />
    </declare-styleable>

在项目开发中需要对RingtonePreference进行修改,修改一个属性ringtoneType的值。因为RingtonePreference是继承自Preference类,同时它自己也有定义自己特定的属性值,比如ringtoneType,所以在ALPS.JB.MP.V1_DEV\frameworks\base\core\res\res\values\attr.xml里面定义如上所示。


其中的notification_2就是自己添加的属性。在这里面添加的ringtoneType就可以在程序中使用,来丰富ringtoneType的值。

在这个修改过程中还出现过一次提示某个静态值不对的错误。解决方式见本博转载的一篇文章,修改对应apiLevel的16.txt文档之后,成功编译通过。但是自己试过./mk c && ./mk update-api && ./mk n之后并没有解决,还是需要手动解决。看来是mtk的源码可能有些问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DialogPreference是Android的一个Preference,它可以弹出一个对话框,让用户输入或选择一些设置参数。以下是一个简单的DialogPreference示例。 首先,在你的res/xml文件夹下创建一个preference.xml文件,添加如下代码: ```xml <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="Dialog Preferences"> <EditTextPreference android:key="edit_text_preference" android:title="Edit Text Preference" android:summary="Enter some text" android:dialogTitle="Enter Text" android:positiveButtonText="OK" android:negativeButtonText="Cancel" /> <ListPreference android:key="list_preference" android:title="List Preference" android:summary="Choose an item" android:dialogTitle="Choose Item" android:entries="@array/list_entries" android:entryValues="@array/list_entry_values" android:defaultValue="1" /> <RingtonePreference android:key="ringtone_preference" android:title="Ringtone Preference" android:summary="Choose a ringtone" android:dialogTitle="Choose Ringtone" /> <CheckBoxPreference android:key="checkbox_preference" android:title="Checkbox Preference" android:summary="Check or uncheck" android:defaultValue="false" /> </PreferenceCategory> </PreferenceScreen> ``` 上述代码定义了四个不同的DialogPreference,分别是EditTextPreference、ListPreferenceRingtonePreference和CheckBoxPreference。 接下来,创建一个SettingsFragment类,继承自PreferenceFragmentCompat,然后在onCreatePreferences方法加载preference.xml文件: ```java public class SettingsFragment extends PreferenceFragmentCompat { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.preference, rootKey); } } ``` 最后,在你的Activity使用SettingsFragment替换掉原来的布局文件: ```java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportFragmentManager() .beginTransaction() .replace(R.id.settings_container, new SettingsFragment()) .commit(); } } ``` 其,R.id.settings_container是你原来布局文件用来放置设置项的容器。现在,运行应用程序,点击设置菜单,就可以看到上面定义的四个DialogPreference了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值