Home » Android » Android relative layout problem with gravity

Android relative layout problem with gravity

Posted by: admin April 23, 2020 Leave a comment

Questions:

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> 
How to&Answers:
 android:layout_centerHorizontal="true"

Answer:

 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.

Answer:

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.

enter image description here

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

See also

Answer:

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" />

Answer:

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”.