2012-09-28 88 views
4

我嘗試創建與它周圍的透明度不是全屏活動,並使用此佈局XML:Android的圓角佈局錯誤

<?xml version="1.0" encoding="utf-8"?> 
<merge xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:id="@+id/containerPageContainer"> 


    <FrameLayout 
     android:id="@+id/informationContainer" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" > 

     <LinearLayout 
      android:id="@+id/myContainer" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="center_horizontal" 
      android:background="@drawable/rounder_corners" 
      android:orientation="vertical" 
      android:padding="10dp" > 

     </LinearLayout> 

    </FrameLayout> 

</merge> 

而對於圓角:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" android:padding="10dp"> 

    <solid android:color="#FFFFFFFF" /> 
    <corners android:radius="10dp" /> 

</shape> 

但已收到此結果與角部,底部和頂部邊缺陷:

enter image description here

請幫我解決它。

+0

看起來形狀AlertDialog風格的窗口內。 – pawelzieba

+0

是的,還有什麼,我怎樣才能收到白色填充'活動'圓角? –

回答

5

我已經找到解決方案:

1)創建主題XML在res/values/

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="Theme.Transparent" parent="android:Theme"> 
    <item name="android:windowIsTranslucent">true</item> 
    <item name="android:windowBackground">@android:color/transparent</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:backgroundDimEnabled">false</item> 
    </style> 
</resources> 

2)圓角風格drawable/rounded_corners.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" android:padding="10dp"> 

    <solid android:color="#FFFFFFFF" /> 
    <corners android:radius="10dp" /> 

</shape> 

3)活動XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/qrCodeContainer" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center_horizontal" 
     android:background="@drawable/rounder_corners" 
     android:orientation="vertical" 
     android:padding="15dp" 
     android:layout_margin="6dp" > 

    </RelativeLayout> 

</RelativeLayout> 

4)項目清單XML描述Activity

<activity 
    android:name=".view.ViewCodeActivity" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.Transparent"> 

</activity> 
+0

Exelent!正是我試圖找到。謝謝! –

1

形狀覆蓋AlertDialog主題視圖不是一個好主意,因爲你看到。
有你有教程:
http://darshangr.wordpress.com/2011/06/23/creating-a-transparent-view-in-android-login-screen-example/

當然,你需要對其進行修改。而不是白色背景設置您的形狀與圓角。

+0

該解決方案是從API級別7運行的嗎? –

+0

應該工作。沒有測試過,但它是我找到的最完整的例子。 – pawelzieba

+0

主要想法是創建透明活動並在其中顯示具有圓角背景的視圖。 – pawelzieba