我有一个两列TableLayout
作为滚动视图的唯一子视图。第一列包含TextViews
('labels'),第二列包含EditText
/Spinner
/DateWidget
etc('values')。尽管我已经为TableLayout
、TableRow
和所有小部件指定了android:layout_width="fill_parent"
(在“值”列中)。
创建Activity时屏幕看起来很完美。但是,当在EditText
中键入一个非常长的值时,“values”列将超出可见的屏幕区域。
我该怎么解决这个问题?
7条答案
按热度按时间tyu7yeag1#
您可能需要使用权重来定义列的大小。因此,您将定义表布局高度以填充父级,但对于每个列,您应该将宽度设置为“0px”,并将权重设置为您希望列跨越的百分比。因此,假设您希望第一列为屏幕宽度的30%,您将其权重设置为“0.3”,第二列为“0.7”。
试试看是否有效。
hwazgwia2#
解决这个问题的实用方法是在
TableLayout
中使用stretchColumns
和shrinkColumns
属性。它们的值应该是从0开始的列索引。例如,如果您有两列表格布局,并且:
TableLayout
适合大屏幕设备上的整个父视图您可以将
TableLayout
定义为:x9ybnkn63#
这对我很有效。
cuxqih214#
这段代码为我对齐第一列的文本视图和编辑文本填充父级。
qlvxas9a5#
试试这个,确保
android:singleLine="false"
和android:inputType="textMultiLine"
:ztigrdn86#
我在Android 2.2上遇到了类似的问题。在我的例子中,添加android:maxWidth=“0 sp”属性很有帮助。现在EditText字段显示为我想要的-所以它仍然是相同的大小作为其他EditText字段,但additionaly它是不调整大小时,长文本输入。
下面是我的EditText定义:
hpcdzsge7#
它为我工作,希望这对你也有帮助
我循环3次,所以3行将添加,添加图片如下