如何根据TextView编号分别更改一行TextView的宽度?

时间:2016-04-25 21:04:11

标签: android layout textview

所以,根据我的程序流程,我的活动中有一行View,它在程序生命周期中由TextViews自定义填充。问题是,当生成TextViews时,它们彼此相邻(通过我设置的布局参数)。

E.x

function getSum(obj, depth){
  var num = 0;
  if(depth - 1)
       num = getSum(obj.child, depth -1);
   return num + obj.value;
}

我想要的是,根据 生成的观看次数(每次开始活动时,生成特定数量的TextView) 在活动中采取特定和相等的宽度,请点击下面:

Image

我怎样才能成功?

感谢每一个小小的帮助。

1 个答案:

答案 0 :(得分:1)

你必须使用重量:

例如

 <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:weightSum="3"
    android:orientation="horizontal"
    android:layout_gravity="center">

    <TextView
    android:layout_height="wrap_content"       
    android:layout_weight="1"
    android:layout_width="0dp"/>

    <TextView
    android:layout_height="wrap_content"       
    android:layout_weight="1"
    android:layout_width="0dp"/>

    <TextView
    android:layout_height="wrap_content"       
    android:layout_weight="1"
    android:layout_width="0dp"/>


</LinearLayout>

重量分布很重要。

如果放10,则总重量必须为10。

如果放3,总重量必须为3。

换句话说,1 + 1 + 1 = 3,因此处理3个元素的宽度。

或3.3 + 3.3 + 3.3 = 9.9