我想创建一个除了网格视图和文本视图之外的主要透明的活动,所以我的风格是:
<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>
和我的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView ... android:layout_gravity="bottom" />
<GridView ...
android:layout_gravity="bottom"
/>
然而,文本视图和网格视图恰好在中心,忽略了我的底部布局重力...
发布于 2012-10-03 23:03:44
LinearLayout
无法做到这一点,请改用RelativeLayout
。RelativeLayout
将使您能够访问它的子级中的centerInParent
属性。
这里:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"> //<---- this here is the trick
<TextView ...
android:layout_gravity="bottom" />
<GridView ...
android:layout_gravity="bottom"
/>
</LinearLayout>
</RelativeLayout>
你也许可以去掉那个LinearLayout
,我建议你把它弄乱。这取决于您需要视图的外观。
无论哪种方式,RelativeLayout
和layout_centerInParent
都应该做您想做的事情。
https://stackoverflow.com/questions/12710733
复制相似问题