2016-02-26 168 views
0
我有一些問題,我的LinearLayout centeralization

,在這裏不用我的一塊XML佈局:線性佈局centeralization

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="300dp"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/rv_payment_card_numbers" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 

     android:visibility="gone" 
     > 

    </android.support.v7.widget.RecyclerView> 

    <TextView 
     android:layout_gravity="center_horizontal|center_vertical" 
     android:textSize="@dimen/secondary_text" 
     android:text="You have no credit cards" 
     android:textStyle="italic" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</LinearLayout> 

我得到的佈局結果:

enter image description here

但我想垂直居中我的短信。 有什麼想法?

+0

使用RelativeLayout的? –

+0

@JyotmanSingh如果這是一個建議,我想使用線性佈局,如果它是一個問題,沒有沒有相對佈局我的XML。 – guisantogui

+1

在你的linearlayout中添加這行代碼android:gravity =「'center | center_horizo​​ntal」 – Inducesmile

回答

0

最重要的是讓你的TextView匹配你父母的身高。如果將其設置爲wrap_content,那麼它將無法到達中心位置,因爲TextView沒有垂直高度。

只要使用這個TextView的代碼 -

<TextView 
android:layout_gravity="center_horizontal|center_vertical" 
android:textSize="12sp" 
android:gravity="fill_vertical" 
android:text="You have no credit cards" 
android:textStyle="italic" 
android:layout_width="wrap_content" 
android:layout_height="match_parent" /> 

我添加android:gravity="fill_vertical"並取得android:layout_height="match_parent"

0

我已更新我的評論。這是測試和工作。

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

<android.support.v7.widget.RecyclerView 
    android:id="@+id/rv_payment_card_numbers" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:visibility="gone"> 

</android.support.v7.widget.RecyclerView> 

<TextView 
    android:layout_gravity="center_horizontal|center_vertical" 
    android:text="You have no credit cards" 
    android:textStyle="italic" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

</LinearLayout> 
0

使用 機器人:layout_gravity = 「中心」 作爲 TextView的的屬性。

或者,您也可以將您的根佈局(當前爲LinearLayout)更改爲RelativeLayout,然後將 centerInParent =「true」 屬性添加到TextView。

0

試試這個:

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

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/rv_payment_card_numbers" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:visibility="gone" > 
    </android.support.v7.widget.RecyclerView> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal|center_vertical" 
     android:text="You have no credit cards" 
     android:textSize="@dimen/secondary_text" 
     android:textStyle="italic" /> 

</LinearLayout> 
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:orientation="vertical" 
    android:gravity="center_vertical" 

    > 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="300dp" 
     android:gravity="center_vertical" 
     > 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/rv_payment_card_numbers" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 

      android:visibility="gone" 
      > 

     </android.support.v7.widget.RecyclerView> 

     <TextView 

      android:gravity="center_horizontal" 
      android:text="You have no credit cards" 
      android:textStyle="italic" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

    </LinearLayout> 
</LinearLayout>