2017-01-06 7 views
0

Я делаю заказ рисует фон для диалога, я не могу видеть, чтобы получить радиус угла, работающий с XML (см фото)Пользовательских рисуют фон углов радиуса не работает

Вы можете увидеть радиус угла в верхнем левый & верхний правый не синий или не отображается правильно.

Вот вытяжке код XML:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:bottom="50dp"> 
     <shape android:shape="rectangle"> 
      <size android:height="100dp" /> 
      <solid android:color="@color/new_booking_via_address" /> 
      <corners 
       android:bottomLeftRadius="0dp" 
       android:bottomRightRadius="0dp" 
       android:radius="10dp" 
       android:topLeftRadius="10dp" 
       android:topRightRadius="10dp" /> 
     </shape> 
    </item> 

    <item android:top="100dp"> 
     <shape android:shape="rectangle"> 
      <size android:height="200dp" /> 
      <solid android:color="@color/White" /> 
      <corners 
       android:bottomLeftRadius="10dp" 
       android:bottomRightRadius="10dp" 
       android:radius="10dp" 
       android:topLeftRadius="0dp" 
       android:topRightRadius="0dp" /> 
     </shape> 
    </item> 
</layer-list> 

Вот код макета XML:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="320dp" 
    android:layout_margin="20dp" 
    android:layout_height="wrap_content" 
    android:background="@android:color/transparent" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="320dp" 
     android:background="@drawable/dialog_bg" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:weightSum="1"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:background="@android:color/transparent" 
      android:animateLayoutChanges="true" 
      android:gravity="center" 
      android:orientation="vertical"> 

      <de.hdodenhof.circleimageview.CircleImageView 
       android:layout_width="70dp" 
       android:layout_height="70dp" 
       android:layout_gravity="center" 
       android:background="@drawable/ic_perm_identity_white_48dp" /> 

     </LinearLayout> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_margin="20dp" 
      android:layout_height="wrap_content" 
      android:text="Here is some text which the user may read to then grant a permission"/> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:layout_margin="8dp" 
      android:animateLayoutChanges="true" 
      android:orientation="vertical"> 

      <Button 
       android:id="@+id/grantPermissionButton" 
       style="?android:attr/borderlessButtonStyle" 
       android:layout_width="wrap_content" 
       android:layout_height="40dp" 
       android:layout_gravity="right|center" 
       android:gravity="right|center" 
       android:text="Grant permission" /> 

      <Button 
       android:id="@+id/notNowButton" 
       style="?android:attr/borderlessButtonStyle" 
       android:layout_width="wrap_content" 
       android:layout_height="40dp" 
       android:layout_gravity="right|center" 
       android:gravity="right|center" 
       android:text="Not now" /> 

     </LinearLayout> 
    </LinearLayout> 
</android.support.v7.widget.CardView> 

Example

ответ

1

В коде установить фон на Dialog быть прозрачным.

dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 

Используйте CardView атрибуты округлить свои углы. С app:cardCornerRadius="10dp", так что у вас есть это у корня:

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="320dp" 
    android:layout_margin="20dp" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    app:cardCornerRadius="10dp"> 
+0

Спасибо за ответ! Это уже сделано, и код не работает :( – apmartin1991

+0

@ apmartin1991, проверьте мое дополнение – Pztar

+0

приложение: cardCornerRadius = "10dp" сделал это для меня :) Большое спасибо! :) – apmartin1991

 Смежные вопросы

  • Нет связанных вопросов^_^