2016-04-26 167 views
0

我正在製作一個有卡片角落的對話框。但我不能使它看起來像一張卡片。我可以製作角落,但仍然位於對話框上顯示的紅色半徑顏色的上方。我嘗試了一切,但我無法使它工作。有人能幫我嗎?我的主要佈局是cardView,並將我的形狀佈局放置在線性佈局的背景中。 enter image description here卡片看起來佈局

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#FFFFFF"/> 
<stroke 
    android:width="6dip" 
    android:color="#f45"/> 
<corners android:radius="15dip"/> 
<padding 
    android:bottom="0dip" 
    android:left="0dip" 
    android:right="0dp" 
    android:top="0dip"/> 

enter image description here

<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="250dp" 
android:layout_height="wrap_content" 
android:baselineAligned="false" 
android:orientation="vertical" 
android:paddingLeft="10dp" 
android:paddingRight="10dp"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@drawable/layout_bg" 
    > 

    <TextView 
     android:id="@+id/textView7" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="15dp" 
     android:text="Bits Please" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:foreground="@android:color/transparent"/> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0.5dp" 
     android:layout_alignParentEnd="false" 
     android:layout_alignParentStart="false" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:layout_weight="1" 
     android:background="#030202" 
     android:orientation="horizontal"> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/textView8" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="10dp" 
      android:text="text"/> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:paddingBottom="10dp" 
     android:paddingLeft="10dp" 
     android:paddingRight="10dp"> 

     <TextView 
      android:id="@+id/textView9" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="15dp" 
      /> 

     <TextView 
      android:id="@+id/textView10" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="15dp" 
      /> 

     <TextView 
      android:id="@+id/textView11" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="15dp" 
      /> 
    </LinearLayout> 
</LinearLayout> 

+0

可能的重複http://stackoverflow.com/questions/10795078/dialog-with-transparent-background-in-android –

回答

0

的這樣的事情爲我工作,但我只是說這行代碼到CardView佈局 - >應用:cardCornerRadius =「量」

沒有背景,主題,樣式或任何需要的。希望這可以幫助別人

,這在活動代碼:

dialog.getWindow()setBackgroundDrawable(新ColorDrawable(Color.TRANSPARENT))。

1

利用這一點,隨着你的代碼 -

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

,並添加透明背景和基礎d在cardview太 -

<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="250dp" 
android:layout_height="wrap_content" 
android:baselineAligned="false" 
android:orientation="vertical" 
android:paddingLeft="10dp" 
android:paddingRight="10dp" 
android:background="@android:color/transparent" > 
+0

已經嘗試過,不起作用 – hyrulelink16

+0

請檢查現在。 –

+0

仍然沒有進展。順便說一句,這是代碼: [code] public void showAboutAlert(){ final Dialog dialog = new Dialog(this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.about_us_layout); dialog.getWindow()。setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); dialog.show(); } [code] 嘗試移動setBackgroundDrawable圍繞代碼,仍然沒有進展。 – hyrulelink16