setMaxLines(int)不会以编程方式调整TextView的大小?

时间:2016-07-24 00:58:35

标签: java android android-layout android-studio android-adapter

我正在尝试使用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" />

0 个答案:

没有答案