user3475780
user3475780

Reputation: 1

Center textview in linearlayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutOverlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:text="TextView" />
</LinearLayout>

</LinearLayout>

I want to center my textview in the linearlayout. I don't understand why this isn't working. Currently the textview is in the top left corner.

Upvotes: 0

Views: 247

Answers (4)

Harshal Benake
Harshal Benake

Reputation: 2401

try making textview width match parent

android:layout_width="match_parent"

Try this code snippnet.Hope it works for you.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutOverlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:text="TextView" />
</LinearLayout>

</LinearLayout>

Upvotes: 0

Chirag Ghori
Chirag Ghori

Reputation: 4231

android:gravity="center" For TextView Only align text to center Inside TextView.

So, You need to add android:gravity="center" to LinearLayout for align TextView Inside LinearLayout.

Try this

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutOverlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<LinearLayout
android:layout_width="150dp"
android:layout_height="150dp"
android:gravity="center"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:gravity="center"
    android:layout_height="wrap_content"
    android:text="TextView" />
</LinearLayout>

</LinearLayout>

Upvotes: 2

laymelek
laymelek

Reputation: 417

Its because you are using two linear layout inside each other... First one is horizontal and its designed to put everything to the left... User relative layout and then vertical linear layout

Upvotes: 0

Neha - Systematix
Neha - Systematix

Reputation: 96

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutOverlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<LinearLayout
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:orientation="vertical"
    android:gravity="center">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:text="TextView" />
</LinearLayout>

</LinearLayout>

Upvotes: 0

Related Questions