Черная линия в пользовательском диалоге на Galaxy S 2 - PullRequest
5 голосов
/ 18 июля 2011

Я построил собственный диалог, и сверху и снизу есть черные линии.Они появляются только на 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 Ответ

3 голосов
/ 28 ноября 2011

После довольно долгого изучения этой проблемы я обнаружил, что у Samsung, похоже, в своих ресурсах есть ошибка panel_background.9.png ...

Обходной путь, чтобы обойти эти черные линии,установить свой собственный фон для диалогов следующим образом:

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

Затем скопируйте panel_background.9.png из источника Android или создайте собственный!Затем убедитесь, что ваш Dialog создан с помощью новой темы Theme createt в вашем style.xml ...

Существует только одна проблема, теперь ваш диалог потеряет «Samsung-Dialog-Style».Это означает, что угол может отличаться от других диалогов по умолчанию в вашем приложении ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...