Question

I am having a problem with the layout xml for my fragment... I think it may be because the layout was originally made for just an activity, and then later it was changed to a fragment. It looks like this in my editor:

img desc

But in my phone and emulator, it ends up like this:

enter image description here

Can anyone think of a solution for me? I've tried out multiple things but cannot seem to fix it, as i think maybe the rules are a little different when working with fragments? Thank you for all and any help!!

<?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:layout_height="match_parent">

<LinearLayout android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:text="@string/title" />
    <EditText android:id="@+id/title" 
      android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_weight="1"/>
</LinearLayout>

<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:text="@string/body" />
<EditText android:id="@+id/body" android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:scrollbars="vertical" />

<Button android:id="@+id/confirm" 
  android:text="@string/confirm"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

  </LinearLayout>

Layout file for the activity:

<?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" >
<FrameLayout
    android:id="@+id/frame1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="130dp"
    android:layout_toRightOf="@+id/textView1" >
</FrameLayout>
</LinearLayout>
Was it helpful?

Solution

Just change android:layout_width to match_parent. This will fill up all the available space horizontally.

<TextView android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:text="@string/body" />

<EditText android:id="@+id/body" 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:scrollbars="vertical" />

<Button android:id="@+id/confirm" 
    android:text="@string/confirm"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

For Layout file of activity :

<FrameLayout
    android:id="@+id/frame1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="130dp"
    android:layout_toRightOf="@+id/textView1" >
</FrameLayout>

OTHER TIPS

You can use the property "ems" to change the size.

        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10" >

            <requestFocus />
        </EditText>

for your text views and edit views try to match_parent instead of wrapping content

<TextView android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:text="@string/title" />
<EditText android:id="@+id/title" 
  android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:layout_weight="1"/>

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top