使用GridLayout编辑屏幕外的文本

Raf*_*fag 5 android textfield android-layout android-gridlayout

我有以下布局,其中编辑文本显然没有任何理由离开屏幕.我试图找到类似的问题,但我不能.它应该是一个简单的,但我已经尝试了许多没有运气的东西.

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

    <GridLayout
        android:id="@+id/gridLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:columnCount="2"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/titleTextView"
            android:layout_columnSpan="2"
            android:layout_gravity="left"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:text="dsgsdgsd"
            android:textColor="@color/red"
            android:textStyle="bold" />

        <View
            android:layout_width="fill_parent"
            android:layout_height="2dip"
            android:layout_columnSpan="2"
            android:layout_gravity="left"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:background="@color/red" />

        <TextView
            android:id="@+id/textTitle"
            android:layout_gravity="left"
            android:background="#ffffff"
            android:paddingLeft="15dp"
            android:text="Title"
            android:textColor="@color/grey" />

        <EditText
            android:id="@+id/editTitle"
            android:layout_gravity="right"
            android:inputType="text">
        </EditText>

        <View
            android:layout_height="1dip"
            android:layout_columnSpan="2"
            android:layout_gravity="left"
            android:background="#E6E6E6" />

        <TextView
            android:id="@+id/textCategory"
            android:layout_gravity="left"
            android:background="#ffffff"
            android:gravity="left"
            android:paddingLeft="15dp"
            android:text="Category"
            android:textColor="@color/grey" />

        <EditText
            android:id="@+id/editCategory"
            android:layout_width="225dp"
            android:layout_gravity="right"
            android:inputType="text" />            

        <Button
            android:id="@+id/btnCreateAccount"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="#ffffff"
            android:onClick="createExpense"
            android:text="Done"
            android:textColor="@color/red" />
    </GridLayout>
Run Code Online (Sandbox Code Playgroud)

Mys*_*icϡ 1

检查您更新的代码:

您缺少一些宽度、高度属性,并且在较早的元素(如 View)中使用了 match_parent,这阻止了任何后续元素在屏幕上获取空间。

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

    <GridLayout
        android:id="@+id/gridLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:columnCount="2"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/titleTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnSpan="2"
            android:layout_gravity="left"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:text="dsgsdgsd"
            android:textColor="@color/red"
            android:textStyle="bold" />

        <View
            android:layout_width="wrap_content"
            android:layout_height="2dip"
            android:layout_columnSpan="2"
            android:layout_gravity="left"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:background="@color/red" />

        <TextView
            android:id="@+id/textTitle"
            android:layout_gravity="left"
            android:background="#ffffff"
            android:paddingLeft="15dp"
            android:text="Title"
            android:textColor="@color/grey" />

        <EditText
            android:id="@+id/editTitle"
            android:layout_gravity="right"
            android:inputType="text" >
        </EditText>

        <View
            android:layout_width="wrap_content"
            android:layout_height="1dip"
            android:layout_columnSpan="2"
            android:layout_gravity="left"
            android:background="#E6E6E6" />

        <TextView
            android:id="@+id/textCategory"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:background="#ffffff"
            android:gravity="left"
            android:paddingLeft="15dp"
            android:text="Category"
            android:textColor="@color/grey" />

        <EditText
            android:id="@+id/editCategory"
            android:layout_width="225dp"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:inputType="text" />

        <Button
            android:id="@+id/btnCreateAccount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="#ffffff"
            android:onClick="createExpense"
            android:text="Done"
            android:textColor="@color/red" />
    </GridLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

没有颜色和背景的输出,因为它由于缺少资源而给我错误:

在此输入图像描述

在这里您可以在屏幕上看到您的编辑文本。