如何自定义Android铃声选择器对话框?

时间:2012-06-26 06:00:13

标签: android

我显示了一个对话框,用以下代码选择其中一个铃声:

 Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
 intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE,"My customised Title");
 Uri uri = ContentUris.withAppendedId(
 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 1l);
 // Don't show 'Silent'
 intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
 intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, uri);
 startActivityForResult(intent, 123);

打开如下所示的铃声选择对话框。

现在,在这里你可以看到字体太大i want to make it small,所以我该怎么办呢?我怎样才能做到这一点。

enter image description here

1 个答案:

答案 0 :(得分:1)

引用MKJParekh:

  

您需要制作自定义对话框。

是的,您需要自定义Dialog,但在谈论“自定义对话框”时请记住,这并不意味着您只需使用上述代码嵌入该对话框即可挑选音调。

由于这是android-framework提供的选择铃声的方式,你不需要查询音调,你不需要在Dialog中创建List,你不需要实现选择并传递数据调用Activity。它全部由android内置。

制作自己的自定义对话框时,必须在“活动/对话框”中执行以下任务

  • 您需要从Android媒体查询数据
  • 您必须在Dialog和ListView中显示结果
  • 您必须制作自己的适配器和选择方法
  • 将该数据传递给调用活动作为结果

然而,自定义android提供的Dialog是不可能的,它的UI依赖于主题,操作系统和制造商。