0

我面临一些奇怪的问题,我的自定义对话框的“textview”显示在 Eclipse 布局编辑器中,但在模拟器/手机中运行时却没有。

以下是我的自定义对话框布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="400dp"
    android:background="#ffffff"
    android:layout_height="350dp" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/rate_this_app_image_4" />

    <TextView
         android:id="@+id/rate_this_app_text"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@+id/imageView1"
         android:layout_centerHorizontal="true"
         android:layout_marginTop="32dp"
         android:text="@string/rate_this_app_text"
         android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
        android:id="@+id/rate_this_app_yes_button"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_below="@+id/rate_this_app_text"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:layout_alignParentLeft="true"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:text="@string/rate_this_app_yes" />

    <Button
        android:id="@+id/rate_this_app_not_now_button"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_below="@+id/rate_this_app_text"
        android:layout_alignBaseline="@+id/rate_this_app_yes_button"
        android:layout_marginLeft="120dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:text="@string/rate_this_app_notNow" />

     <Button
         android:id="@+id/rate_this_app_dont_ask_button"
         android:layout_width="150dp"
         android:layout_height="40dp"
         android:layout_alignBaseline="@+id/rate_this_app_not_now_button"
         android:layout_alignBottom="@+id/rate_this_app_not_now_button"
         android:layout_toRightOf="@+id/rate_this_app_not_now_button"
         android:text="@string/rate_this_app_dontAsk" />



</RelativeLayout>

以下是调用对话框的 Java 代码

private void showRatingDialog()
    {
        final Dialog dialog = new Dialog(this);
        dialog.setContentView(R.layout.rate_this_app);
        dialog.setTitle("Classifique este aplicativo");

        //Register the Buttons
        Button yesButton = (Button)dialog.findViewById(R.id.rate_this_app_yes_button);
        Button notNowButton = (Button)dialog.findViewById(R.id.rate_this_app_not_now_button);
        Button dontAskButton = (Button)dialog.findViewById(R.id.rate_this_app_dont_ask_button);

        TextView textView = (TextView)dialog.findViewById(R.id.rate_this_app_text);
        textView.setText("Gostaria de classificar este aplicativo agora?");

        //Register the listener for 'Yes' button
        yesButton.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {


            }});


        //Register the listener for 'Not Now' button
        notNowButton.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {


            }});


        //Register the listener for 'Do not ask' button
        dontAskButton.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

            }});

        dialog.show();
    }

现在,以下是它在 Eclipse 布局编辑器中的显示方式

在此处输入图像描述

现在,以下是它在模拟器/手机中的显示方式

在此处输入图像描述

如您所见,TextView 消失了。

4

1 回答 1

4

默认文本颜色为白色,带有 Holo 主题。而且您在白色 BG 上看不到它。在 XML 中设置文本颜色。

于 2013-08-18T08:48:12.850 回答