自定义RatingBar不适用于Dialog

时间:2013-08-07 13:57:30

标签: android android-custom-view android-dialog ratingbar

我已设置自定义RatingBar Style

在style.xml里面,这是我的代码:

<item name="android:ratingBarStyle">@style/RatingBarStyle</item>
<style name="RatingBarStyle" parent="android:Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/ratingbar</item>
    <item name="android:minHeight">13dip</item>
    <item name="android:maxHeight">13dip</item>
</style>

现在我为Dialog(Xml)创建了一个自定义布局[在relativelayout中]:

<RatingBar
    android:id="@+id/custom_dialog_vota_ratingbar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/custom_dialog_vota_label_ratingbar"
    android:layout_below="@+id/custom_dialog_vota_label_ratingbar"
    android:layout_marginTop="2dp"
    android:max="5"
    android:numStars="5"
    android:stepSize="0.5" />

在我的课上我有这段代码:

public void onClick(View view) {
            final Dialog dialog = new Dialog(mContext);
            dialog.setContentView(R.layout.custom_dialog_vota);
            dialog.setTitle("Vota");
            String t = ((TextView)dialog.findViewById(R.id.custom_dialog_vota_label_ratingbar)).getText().toString();
            ((TextView)dialog.findViewById(R.id.custom_dialog_vota_label_ratingbar)).setText(t + nome_book);
            dialog.show();
        }

现在我的RatingBar无处不在,但是在这个对话框上它不起作用,我不知道为什么..
请帮帮我

编辑我不知道为什么它在模拟器上不起作用,但在IDE中的预览完全有效!

EDIT2 所以这是我的结果:
如何看待我的自定义RatingBar适用于Listview或On这样的其他活动: it works

但在我的对话框上它没有,并且已经尝试上传到我的设备,但仍然没有.. it doesn't work

抱歉“模糊”,但无法显示(在办公室工作)我的wip app ..

1 个答案:

答案 0 :(得分:1)

如果使用AlertDialogBu​​ilder,则可以为对话框设置样式XML资源。然后,您可以使用LayoutInflator来扩充自定义视图并在构建器上调用setView