2016-02-25 74 views
2

我使用的線性佈局此XML文件:安卓:如何中心個人意見時,佈局的重心是固定的

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:gravity="center" 
    > 



    <EditText 
     android:id="@+id/editTextUserNameToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="User Name"> 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/editTextPasswordToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="Password" 
     android:inputType="textPassword" /> 

    <Button 
     android:id="@+id/buttonSignIn" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Sign In" /> 

    <ToggleButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="New ToggleButton" 
     android:id="@+id/toggleButton"/> 

</LinearLayout> 

我希望所有的文本視圖顯示在屏幕的中央, 除外切換按鈕,我希望它在屏幕的右下角。

正如你所看到的,我在佈局的標記中使用android:gravity中心,因爲這既不是這個也不是android:layout_gravity正在處理單個文字瀏覽。

但現在我想切換按鈕是獨立於此。 我該如何實現它?

回答

0

可以使用相對佈局看這段代碼時如何設置你的XML按您的要求。

<?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:gravity="center" 
android:orientation="vertical"> 


<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <EditText 
     android:id="@+id/editTextUserNameToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:layout_centerInParent="true" 
     android:hint="User Name"> 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/editTextPasswordToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="Password" 
     android:layout_below="@+id/editTextUserNameToLogin" 
     android:inputType="textPassword" /> 

    <Button 
     android:id="@+id/buttonSignIn" 
     android:layout_width="fill_parent" 
     android:layout_below="@+id/editTextPasswordToLogin" 
     android:layout_height="wrap_content" 
     android:text="Sign In" /> 

    <ToggleButton 
     android:id="@+id/toggleButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:text="New ToggleButton" /> 
</RelativeLayout> 

這是你想要的。 感謝

1

測試此xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" 
android:orientation="vertical" > 

<LinearLayout 
    android:layout_weight="1" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:gravity="center" 
    android:orientation="vertical" > 

    <EditText 
     android:id="@+id/editTextUserNameToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="User Name" > 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/editTextPasswordToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="Password" 
     android:inputType="textPassword" /> 

    <Button 
     android:id="@+id/buttonSignIn" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Sign In" /> 
</LinearLayout> 

<ToggleButton 
    android:id="@+id/toggleButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="New ToggleButton" /> 

1

只是包裝的整個佈局成的FrameLayout並保持撥動按鈕的LinearLayout之外。然後根據需要放置layout_gravity。這就是訣竅。歡呼:) 試試這個

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 
    <LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_gravity="center" 
    > 
    <EditText 
     android:id="@+id/editTextUserNameToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="User Name"> 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/editTextPasswordToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="Password" 
     android:inputType="textPassword" /> 

    <Button 
     android:id="@+id/buttonSignIn" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Sign In" /> 


    </LinearLayout> 
    <ToggleButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="New ToggleButton" 
    android:layout_gravity="bottom|right" 
     android:id="@+id/toggleButton"/> 
    </FrameLayout> 
0

支票本,

<?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:gravity="center" 
android:orientation="vertical"> 


<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <EditText 
     android:id="@+id/editTextUserNameToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:layout_centerInParent="true" 
     android:hint="User Name"> 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/editTextPasswordToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="Password" 
     android:layout_below="@+id/editTextUserNameToLogin" 
     android:inputType="textPassword" /> 

    <Button 
     android:id="@+id/buttonSignIn" 
     android:layout_width="fill_parent" 
     android:layout_below="@+id/editTextPasswordToLogin" 
     android:layout_height="wrap_content" 
     android:text="Sign In" /> 

    <ToggleButton 
     android:id="@+id/toggleButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:text="New ToggleButton" /> 
</RelativeLayout>