在 Android 布局 XML 中的 EditText 元素之前放置一个 TextView 会导致 EditText 不显示
Posted
技术标签:
【中文标题】在 Android 布局 XML 中的 EditText 元素之前放置一个 TextView 会导致 EditText 不显示【英文标题】:Placing a TextView before EditText element in Android layout XML causes EditText not to show 【发布时间】:2011-03-22 19:51:46 【问题描述】:正如标题所说,每次我在 LinearLayout 中的 EditText 元素之前放置 TextView 时,EditText 都不会显示。当我不这样做时,它会这样做。
我已将问题缩小到 TextView 的 layout_width 属性。如果我给它“wrap_content”,它可以工作,但不会“阻塞”,它与 EditText 出现在同一行。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:background="#FFFFFFFF"
>
<TextView
android:text="Test"
android:layout_
android:layout_
/>
<EditText
android:id="@+id/marketValLow"
android:layout_
android:layout_
android:singleLine="true"
android:layout_marginLeft="5px"
android:layout_marginRight="5px"
android:layout_marginTop="5px" />
</LinearLayout>
有什么想法吗?谢谢!
【问题讨论】:
【参考方案1】:听起来您在垂直方向之后将 TextView 置于 EditView 之上。 LinearLayout 默认为水平。
所以将 android:orientation="vertical"
添加到您的 LinearLayout 定义中。
【讨论】:
【参考方案2】:替换这个:
android:layout_
由
android:layout_
【讨论】:
没错。这行得通,但我需要 TextView (由于缺乏更好的术语,我将使用 html 术语)阻止,以便 EditView 下降到它下方,而不管其内容如何。意思是,我不希望 TextView 与 EditText 在同一行。【参考方案3】:Use relativeLayout and place each child side by side using id's
Example:
<RelativeLayout .... >
<TextView
android:id="+@id/text"
android:layout_
android:layout_
android:text="Enter text here:"
/>
<EditText
android:id="+@id/edit"
android:layout_
android:layout_
android:layout_toRightOf="@id/text"
/>
【讨论】:
以上是关于在 Android 布局 XML 中的 EditText 元素之前放置一个 TextView 会导致 EditText 不显示的主要内容,如果未能解决你的问题,请参考以下文章
xml 编辑文本更改线条颜色。字体:https://stackoverflow.com/questions/24677414/how-to-change-line-color-in-edittext。
Android - 当设备改变方向时,布局土地中的布局 xml 未加载
安卓出现错误: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditT