如何在微调器中包装冗长的文本

我在一个单独的行的表布局视图中有两个微调器和EditText控件。 微调器填充了数据。 我的问题是填充到微调器中的数据(文本)太长而不适合屏幕大小。 因此,旋转器被迫拉伸不必要地拉伸另一排上的其他控件。

对于我来说,在旋转器中显示文本是必须的。 因此,使用省略号不是一种选择。 如果有可能我怎样才能在纺纱机上包装冗长的文字?

  • 如何显示数字键盘
  • 对齐ImageSpan中心垂直周围的文本
  • Android EditText背景文字
  • 更改Android应用的样式和主题中的文本外观
  • Android按钮将图像放在中央,文本放在底部
  • 如何更改微调文本颜色
  • Android以编程方式更改导航抽屉菜单项文本
  • 如何缩小导航图标和工具栏标题之间​​的差距?
  • 步骤1.带有包装文本的TextView

    首先要强制简单的TextView来包装文本。 这很容易:

      

    请注意这里的singleLine属性。

    第2步。自定义布局

    现在我们应该以某种方式在Spinner使用的TextView中将singleLine属性设置为false ,以显示列表中的项目。

    在您的代码中,您可能会在其中创建适配器以将其与Spinner一起使用:

     this.mAdapter = ArrayAdapter.createFromResource(this, R.array.Planets, android.R.layout.simple_spinner_dropdown_item); 

    我们的想法是将android.R.layout.simple_spinner_dropdown_item布局复制到您的项目中。 然后通过在CheckedTextView singleLine属性设置为false来修改它:

    为此,使用下一个代码将文件添加到名为multiline_spinner_dropdown_item.xml res/layout文件夹中:

      

    请注意,此文件与android.R.layout.simple_spinner_dropdown_item布局相同,但现在将singleLine设置为false

    步骤3.使用自定义布局创建适配器

    修改您的适配器创建代码:

     this.mAdapter = ArrayAdapter.createFromResource(this, R.array.Planets, R.layout.multiline_spinner_dropdown_item); 

    以下是Android SDK中经过修改的SpinnerActivity示例的屏幕截图:

    在此处输入图像描述

    定义自定义布局并将其与微调器和适配器一起使用。