Galaxy S 2上自定义对话框中的黑线

时间:2011-07-18 11:49:24

标签: android dialog

我已经构建了一个自定义对话框,顶部和底部都有黑线。它们只出现在Galaxy S2上。在其他一些设备上它看起来不错。我必须设置一个属性来摆脱它们吗?

enter image description here

这是我的代码:

public class MyDialog extends Dialog {

    private Context context;
    private String title, message;
    private TextView titleView, messageView;
    private ImageView icon;
    private int iconRes;
    private boolean spin;

    public MyDialog(Context context, int icon, boolean spin, String title, String message) {
        ...
    }

    private void init() {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.setContentView(R.layout.my_dialog);
        ...
    }

}

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:minWidth="300dip" style="@style/basic" android:orientation="vertical">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:background="@drawable/titlebar_bg"
        android:orientation="horizontal" android:gravity="center_vertical"
        android:paddingBottom="5sp">
        <ImageView android:src="@drawable/info" android:id="@+id/dialogIcon"
            android:layout_height="32sp" android:layout_width="32sp" />
        <TextView android:id="@+id/titleText" android:text="Title"
            android:textSize="20sp" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:textColor="@color/darkgrey"
            android:layout_marginLeft="5sp" />
    </LinearLayout>
    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:paddingTop="5sp"
        android:textColor="#000" android:id="@+id/messageText" android:text="Message" />
</LinearLayout>

1 个答案:

答案 0 :(得分:3)

经过相当长的一段时间调查这个问题,我发现三星的资源似乎有一个失败的panel_background.9.png ......

获取此黑线的解决方法是为Dialogs设置自己的背景,如下所示:

<style name="CustomDialog" parent="@android:style/Theme.Dialog">
     <item name="android:windowBackground">@drawable/panel_background</item> 
</style>

然后从android源代码复制panel_background.9.png或创建一个自己的!然后确保您的Dialog在style.xml中使用新的Theme createt实例化...

只有一个问题,现在你的对话框会松开“Samsung-Dialog-Style”。这意味着角落可能与您应用中的其他默认对话框不同...