2012-09-28 41 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