我正在尝试使用TextView
以编程方式调整setMaxLines(int)
的大小,但textview
未展开,并且未扩展其容器LinearLayout
以移动其余元素低于它。
我试过这样做:
public void onClick(View view) {
desc.getLineHeight(); //approx height text
if (desc.getMaxLines() == 4) {
System.out.println("Expand");
desc.setMaxLines(50);
} else {
System.out.println("Collapse");
desc.setMaxLines(4);
}
}
我也尝试使用LayoutParams
来调整高度,但它根本没有做任何事情。
final LinearLayout.LayoutParams lparams =
new LinearLayout.LayoutParams(50,30);
desc.setLayoutParams(lparams);
我做错了什么?是因为我有几层LinearLayouts
和我试图设置高度的desc
字段埋在最深的层中?
我的活动布局如下:
<merge
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<com.lorentzos.flingswipe.SwipeFlingAdapterView
android:id="@+id/frame"
android:background="@color/lightgray"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:rotation_degrees="15.5"
tools:context=".MainActivity"
android:layout_gravity="top"/>
<TextView
android:id="@+id/tv_noJobsLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:textStyle="bold"
android:textSize="18sp"
android:textColor="@color/darkgray"
android:textAlignment="center"
tools:text="Nothing Left to see!"
android:layout_gravity="center" />
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!--<include layout="@layout/buttons" />-->
</merge>
desc
文本字段实际上包含在FrameLayout
中,其中包含嵌套LinearLayouts
以创建包含多个数据字段的卡片视图。实际上,该卡是使用适配器填充的,基于数据库查询的结果。
感谢您的帮助,我真的在这个墙上碰到了一堵墙。
我在布局中的TextView:
<TextView
android:id="@+id/tv_JobDesc"
android:textSize="14sp"
android:textColor="@color/darkgray"
android:text="aasdf
a
a
a
a
"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:background="@color/white"
android:ellipsize="end" />