Граница макета Android скрывает углы фона

Я разработал всплывающее окно в своем приложении и использовал следующую фигуру в качестве границы:

<?xml version = "1.0" encoding = "utf-8"?>
<shape xmlns:android = "http://schemas.android.com/apk/res/android" android:shape = "rectangle">
    <corners android:radius = "20dp"/>
    <padding android:left = "20dp" android:right = "20dp" android:top = "10dp" android:bottom = "20dp"/>
    <solid android:color = "@android:color/holo_green_light"/>
    <stroke android:color = "@android:color/black" android:width = "2dp"/>
</shape>

И вот как выглядит мой XML-макет:

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    xmlns:app = "http://schemas.android.com/apk/res-auto"
    xmlns:tools = "http://schemas.android.com/tools"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    tools:context = ".popChart"
    android:background = "@drawable/customborder"
    >

    <ImageView
        android:id = "@+id/closeIcon"
        android:layout_width = "25dp"
        android:layout_height = "25dp"
        android:layout_alignParentEnd = "true"
        android:src = "@drawable/close" />

    <RelativeLayout
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:layout_centerInParent = "true"
        android:paddingTop = "30dp">

        <com.github.mikephil.charting.charts.LineChart
            android:id = "@+id/lineC"
            android:layout_width = "match_parent"
            android:layout_height = "match_parent"
            android:background = "@android:color/white"
            tools:layout_editor_absoluteX = "8dp"
            tools:layout_editor_absoluteY = "8dp" />
    </RelativeLayout>

</RelativeLayout>

Граница в порядке, но белые углы этого рисованного фона все еще видны:

Граница макета Android скрывает углы фона

Поскольку фон, который у меня за этим всплывающим окном, не сплошной, белые углы выделяются и выглядят плохо. Есть ли способ избавиться от них или сделать их прозрачными?

0
0
240
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Скорее всего, проблема в том, что у вашей темы белый фон для окон. Вам нужно будет определить новую тему:

<style name = "customStyle" parent = "@android:style/Theme.Dialog">
    <item name = "android:windowBackground">@android:color/transparent</item>
</style>

Затем примените его к своему окну:

new PopupWindow(new ContextThemeWrapper(context, R.style.customStyle)))
// Set your window size and focusable if needed...

Я не использую для этого класс PopupWindow, я просто устанавливаю ширину и высоту макета с помощью этой функции: getWindow (). SetLayout ((int) (width * 0.9), (int) (height * 0.6)) ; Могу ли я изменить тему по умолчанию, чтобы сделать это напрямую?

AuthenticReplica 13.09.2018 03:04

Да, просто ожидайте, что все ваши окна будут иметь прозрачный фон. Таким образом, ваши макеты нужно будет настроить по мере необходимости.

TheHebrewHammer 13.09.2018 04:29

Другие вопросы по теме