简体   繁体   中英

Android relative layout problem with gravity

How can i put textview with id="naslov" to the center? I also tried with layout_gravity="center" but that doesn't work either.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView   
    android:id="@+id/naslov"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20dip"
    android:text="Povzetek"
    android:gravity="center"/>
   <TextView   
    android:id="@+id/aha"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="10dip"
    android:text="Vseh oddaj:"
       android:layout_below="@id/naslov"/>  
 </RelativeLayout> 
 android:layout_centerHorizontal="true"
 android:layout_centerHorizontal="true"

there is also

android:layout_centerInParent="true"

Full list for RelativeLayout attributes is here

Also you can tell your TextView to fill_parent and then set gravity=center on it. So it'll center actual text within textView.

Supplemental Answer

As a more general answer to this question, layout_gravity does not work with the subviews of a RelativeLayout . It is for use with a LinearLayout or FrameLayout . However, the subviews of a RelativeLayout can still use gravity as usual because this is just how a view arranges its own content.

See the comparison in the following image. The green and blue views are TextViews inside of a RelativeLayout .

在此输入图像描述

The gravity works but layout_gravity doesn't. See my fuller answer for more details.

See also

Relative Layout does not make use of layout_gravity, however you use gravity values in following ways : center, left , left|center , right|center , right, top, bottom.

<!-- below widget displaying text in left center -->
<TextView
           android:id="@+id/song_title"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:text="sample name text"
           android:gravity="left|center"
           android:textSize="15sp" />

You can go to the graphical layout tab in the activity_main.XML and select you item you want to position and change it from the three tabs on the top. Or you can just put this: android:layout_gravity="center_horizontal".

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM