【问题标题】:android editview as textview and many lines in one textviewandroid editview 作为 textview 和一个 textview 中的多行
【发布时间】:2013-10-28 09:43:50
【问题描述】:

有什么方法可以使 EditView 有时作为自身工作,有时作为 TextView 工作(只读,但不是灰色的(当我设置 setEnabled(false) 时它变成灰色,我不喜欢)。只是我想使用相同的表单用于显示信息和编辑,目前我想到的唯一解决方案是拥有两个组件并使用它们的可见性参数(有时 EditView 是可见的,TextView 不可见,反之亦然)。

有没有可能在一个 TextView 中有几行?当我写了

android:text="bla bla \n bla bla"

在 xml 代码中它不起作用。 :(

【问题讨论】:

标签: android textview editview


【解决方案1】:

不要相信 XML 表示 .."\n" 不会反映在图形表示中,只需运行您的应用程序即可..您将获得新行,不要打扰。 确保 TextView 也是多行的。

【讨论】:

  • 我写了 android:text="bla bla/n ha ha" 而不是 android:text="bla bla\n ha ha"。这个小错误导致了完全不同的行为。 :P
【解决方案2】:

您可以在 xml 中使用 android:textColor="#000000" 在禁用模式下将文本颜色设置为黑色或任何其他您想要的颜色。但是,如果您还希望 EditText 隐藏其样式并完全看起来像 TextView,则需要为此在您的文本视图上应用自定义样式...这将不必要地增加您的工作量。

提供且最可靠的方法是拥有两个视图,即 TextViewEditText 一起并利用它们的可见性。

在问题的第二部分中,理想情况下,文本应该转到下一行,如果不是,那么可能有其他一些属性限制它这样做......

【讨论】:

  • 是的,我觉得玩可见性似乎是最简单的解决方案。
【解决方案3】:

为了使editext表现得像一个textview,只需将背景设置为一些图像,或者透明颜色这将消除灰色效果。还有这个属性

setEnabled(false)

同时将文本的颜色设置为黑色

在点击editext时,将 enabled 属性更改为 true 并将背景资源更改为其他图像以显示其已被编辑。

您还可以使用形状矩形创建自己的可绘制对象并填充颜色为白色,使其看起来像一个白色框(编辑框)。

【讨论】:

    猜你喜欢
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多