1

I'm trying to use Linear Layout to create a simple layout with four elements in a row with 30dp fixed height. The elemens are a TextView, a Button, another TextView and another Button. However the second textview element is misaligned like it has a marginTop property set of a couple dp.

I've tried forcing the margins to zero but to no avail. Can you help me?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/x"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:id="@+id/aod_division_name"
        android:layout_width="80dp"
        android:layout_height="30dp"
        android:layout_marginStart="5dp"
        android:gravity="center|start"
        android:text="@string/add"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
        android:id="@+id/aod_division_minusDivisionTotalButton"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:padding="0dp"
        android:text="@string/minus" />

    <TextView
        android:id="@+id/aod_division_totalValue"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
        android:id="@+id/aod_division_plusDivisionTotalButton"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:gravity="center"
        android:padding="0dp"
        android:text="@string/plus" />

</LinearLayout>

Screenshot of the layout

Joao Neto
  • 310
  • 3
  • 18

2 Answers2

1

Just add this attribute android:gravity="center" to your second text view.

If you still facing the issue try to add both TextView and button inside RelativeLayout, and you can use android:layout_toRightOf attribute, to align it perfectly. Something like this

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

        <Button
            android:id="@+id/aod_division_minusDivisionTotalButton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:text="-" />

        <TextView
            android:id="@+id/aod_division_totalValue"
            android:layout_toRightOf="@+id/aod_division_minusDivisionTotalButton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Button
            android:id="@+id/aod_division_plusDivisionTotalButton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_toRightOf="@+id/aod_division_totalValue"
            android:gravity="center"
            android:padding="0dp"
            android:text="+" />

    </RelativeLayout>

The above UI looks like this

Clik here to view the image

basavaraj_S
  • 1,333
  • 2
  • 12
  • 20
-1

try this

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

    <TextView
        android:id="@+id/aod_division_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="5dp"
        android:gravity="center"
        android:text="Add"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
        android:id="@+id/aod_division_minusDivisionTotalButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Minus" />

    <TextView
        android:id="@+id/aod_division_totalValue"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="asaas"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
        android:id="@+id/aod_division_plusDivisionTotalButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Plus" />

</LinearLayout>
Bhupat Bheda
  • 1,968
  • 1
  • 8
  • 13
  • I thought I hade written a comment. I gave you a downvote because you didn't explain your solution neither my problem... I'll remove it but please edit your answer with an explanation or else I won't understand the problem... Edit: Actually I wasn't the one downvoting you... – Joao Neto May 23 '17 at 15:00