Android垂直中心

时间:2012-04-03 20:35:06

标签: android

为什么这些不是垂直居中的?我正在努力解决这个问题而无法使其发挥作用..

这是在relativelayout和显示屏的底部。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="46dp"
style="?headerfooter"
android:id="@+id/linlay2"
android:layout_below="@+id/ListView01"
android:gravity="center_vertical"
android:layout_alignBottom="@+id/mainrel">
<EditText 
    android:id="@+id/EditText_AddNewList" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:hint="@string/dialog_addnew_lists_listnamehint"
    android:layout_centerVertical="true"
    android:gravity="center_vertical"
    android:layout_gravity="center_vertical"
    android:layout_weight="1">
</EditText>
<Button 
        android:id="@+id/bSQLUpdate" 
        android:layout_width="40dp" 
        android:layout_height="40dp" 
        android:layout_centerVertical="true"
        android:layout_gravity="center_vertical"
        android:gravity="center_vertical"
        android:layout_marginLeft="2dp"
        android:layout_marginRight="2dp"
        style="?button_add"/>
</LinearLayout>

enter image description here

2 个答案:

答案 0 :(得分:0)

两个建议:

1)如果您将layout_height的{​​{1}}设置为wrap_content怎么办? 2)我怀疑你的LinearLayout可能稍微过大(我之前遇到过类似的问题),所以如果你将它的高度从EditText更改为wrap_content,你可能会有更好的运气。

答案 1 :(得分:0)

您是否尝试使用“中心”而不是“center_vertical”?此外,如果您想要从屏幕顶部到屏幕底部的假想线中心,那么center_horizo​​ntal将是您正在寻找的。

以下是一些将项目置于屏幕中间的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

      <ProgressBar
        android:id="@+id/electionsProgressBar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" android:layout_gravity="center_vertical|center_horizontal"/> 

</LinearLayout>