我尝试创建不具有透明度的全屏活动并使用此布局XML:
<?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>
但是在角落,底部和顶部都收到了这个缺陷:
请帮我解决。
答案 0 :(得分:5)
我找到了解决方案:
1)在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>
答案 1 :(得分:1)
如你所见,用形状覆盖AlertDialog主题视图并不是一个好主意
你有教程:
http://darshangr.wordpress.com/2011/06/23/creating-a-transparent-view-in-android-login-screen-example/
当然你需要修改它。而不是白色背景设置你的圆角形状。