0

我在 XML 中创建了一个 TextView 并为其设置了一些规则(例如layout_bellow="something"),并将其高度设置为 0,这样当单击按钮时,它的高度将设置为wrap_content. 我为负责调整大小的按钮编写了下面的代码,下面是我为 TextView 编写的 XML 代码。问题是,当我单击按钮时,高度变为match_parentlayout_bellow属性被忽略并从父布局的开头绘制,宽度(设置为match_parent)变为wrap_content. 有什么问题?谢谢。

按钮:

    btnExpand.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            textView.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, height));
        }
    });

XML:

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <LinearLayout
                android:id="@+id/firstRow"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                .
                .
                .
            </LinearLayout>

            <TextView
                android:id="@+id/theTextView"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_below="@id/firstRow"
                android:text="lorem ipsom lorem ipsom">

        </RelativeLayout>

编辑:这是一个演示问题的图像

4

1 回答 1

1

基本上问题是您正在创建新的 LayoutParams 并将其设置为视图。您已获得视图的已设置(xml)LayoutParams 并修改您要修改的任何内容并将其设置回视图。

LayoutParams layoutParams = textView.getLayoutParams();
//height = LayoutParams.WRAP_CONTENT;or 100 or whatever
layoutParams.height = LayoutParams.WRAP_CONTENT;
textView.setLayoutParams(layoutParams);
于 2017-06-09T00:00:52.537 回答