【Android】如何实现多个textview自动对齐最长的te

2019-06-28  本文已影响0人  下雨天的小白鞋

/**

* 动态设置宽度,设置成最大宽度

*/

private void calculateWidth() {

//list集合装所有控件的宽

List width_list =new ArrayList<>();

   //获取每个控件的宽

    int spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);

    tv_1.measure(spec, spec);

    int measuredWidthTicketNum = tv_1.getMeasuredWidth();

    width_list.add(measuredWidthTicketNum);

    spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);

    tv_2.measure(spec, spec);

    measuredWidthTicketNum = tv_2.getMeasuredWidth();

    width_list.add(measuredWidthTicketNum);

    spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);

    tv_3.measure(spec, spec);

    measuredWidthTicketNum = tv_3.getMeasuredWidth();

    width_list.add(measuredWidthTicketNum);

    //获取最大宽

    int max = Collections.max(width_list);

//设置宽度为最大宽度

    LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) tv_1.getLayoutParams();

    linearParams.width = max;

    tv_1.setLayoutParams(linearParams);

    linearParams = (LinearLayout.LayoutParams) tv_2.getLayoutParams();

    linearParams.width = max;

    tv_2.setLayoutParams(linearParams);

    linearParams = (LinearLayout.LayoutParams) tv_3.getLayoutParams();

    linearParams.width = max;

    tv_3.setLayoutParams(linearParams);

}

    tvCreditName.setLayoutParams(linearParams);

}

上一篇下一篇

猜你喜欢

热点阅读