在 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 不显示的主要内容,如果未能解决你的问题,请参考以下文章

Android 布局 xml 中的注释

xml 编辑文本更改线条颜色。字体:https://stackoverflow.com/questions/24677414/how-to-change-line-color-in-edittext。

布局 xml 文档中的 Android“工具”命名空间

Android - 当设备改变方向时,布局土地中的布局 xml 未加载

安卓出现错误: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditT

Android XML布局中的xmlns:tools是啥意思?