EditText 的高度不会扩展到其父级的高度
EditText's height does not expand to its parent's height
我在高度为 match_parent
的滚动视图中放置了一个编辑文本,并希望它的高度等于滚动视图,但事实并非如此。它的高度表现得像 wrap_content
这意味着如果 EditText 中没有文本,我必须将光标指向第一个 "line" 才能弹出软键盘,我想要的是我可以触摸任何地方在屏幕(滚动视图)中弹出软键盘。
布局如下,感谢您的帮助。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:gravity="top"
android:padding="10dp"
android:textSize="16sp"
android:textColor="@android:color/black">
</EditText>
</ScrollView>
<Button
android:id="@+id/btnPaste"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/paste"
android:gravity="center"
android:onClick="pasteData"
android:layout_marginLeft="5dp"
android:layout_marginRight="6dp"
android:layout_marginBottom="5dp"
android:background="@drawable/rounded_corner_button"
android:textColor="@android:color/white"/>
</LinearLayout>
布局捕获:
对 xml 文件中的 EditText 执行此操作:
android:scrollbars="vertical"
在 onCreate() 中实现:
editText.setMovementMethod(new ScrollingMovementMethod());
然后,如果您只将滚动视图用于文本视图,则不需要滚动视图,它只会使您的文本视图可滚动。
您可以通过更改minLines
属性来控制编辑文本
例如:
<EditText
android:id="@+id/ed_comment"
style="@style/EditText.NoBackground"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:hint="@string/write_comment_hint"
android:minLines="40"
android:textSize="16sp"/>
而不是通过 scrollView 包装 EditText,将此属性添加到 editText
android:scrollbars="vertical"
结果:
在您的 ScrollView 中添加这一行。
android:fillViewport="true"
我在高度为 match_parent
的滚动视图中放置了一个编辑文本,并希望它的高度等于滚动视图,但事实并非如此。它的高度表现得像 wrap_content
这意味着如果 EditText 中没有文本,我必须将光标指向第一个 "line" 才能弹出软键盘,我想要的是我可以触摸任何地方在屏幕(滚动视图)中弹出软键盘。
布局如下,感谢您的帮助。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:gravity="top"
android:padding="10dp"
android:textSize="16sp"
android:textColor="@android:color/black">
</EditText>
</ScrollView>
<Button
android:id="@+id/btnPaste"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/paste"
android:gravity="center"
android:onClick="pasteData"
android:layout_marginLeft="5dp"
android:layout_marginRight="6dp"
android:layout_marginBottom="5dp"
android:background="@drawable/rounded_corner_button"
android:textColor="@android:color/white"/>
</LinearLayout>
布局捕获:
对 xml 文件中的 EditText 执行此操作:
android:scrollbars="vertical"
在 onCreate() 中实现:
editText.setMovementMethod(new ScrollingMovementMethod());
然后,如果您只将滚动视图用于文本视图,则不需要滚动视图,它只会使您的文本视图可滚动。
您可以通过更改minLines
属性来控制编辑文本
例如:
<EditText
android:id="@+id/ed_comment"
style="@style/EditText.NoBackground"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:hint="@string/write_comment_hint"
android:minLines="40"
android:textSize="16sp"/>
而不是通过 scrollView 包装 EditText,将此属性添加到 editText
android:scrollbars="vertical"
结果:
在您的 ScrollView 中添加这一行。
android:fillViewport="true"