使用RelativeLayout可以使用图标点击旋转,展开textview或收缩textview
<RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginLeft="15dp" android:layout_marginRight="6dp" android:layout_marginTop="7dp" android:layout_marginBottom="7dp" android:gravity="center_vertical"> <TextView android:id="@+id/onete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_centerVertical="true" android:text="@string/wgms" android:textColor="@color/numtext" android:textSize="15dp" /> <TextView android:id="@+id/wgmiaostext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="80dp" android:ellipsize="end" android:lineSpacingExtra="4dp" android:lines="2" android:text="申报过期申报报过期申报过期申过期申报过期申报过期申报报报报报过期申报过期" android:textColor="@color/hometextc" android:textSize="15dp" /> <ImageView android:id="@+id/more_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:src="@mipmap/xj_03"/> </RelativeLayout>
Java代码如下
private boolean ifupdown=true;
@OnClick({R.id.backligxwbdata,R.id.more_image}) public void onClick(View view) { switch (view.getId()) { case R.id.backligxwbdata: onBackPressed(); break; case R.id.more_image: if (ifupdown){ Animation anim =new RotateAnimation(0f, 180f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); anim.setFillAfter(true); // 设置保持动画最后的状态 anim.setDuration(500); // 设置动画时间 anim.setInterpolator(new AccelerateInterpolator()); // 设置插入器 more_image.startAnimation(anim);//图标旋转向上或向下 ifupdown = !ifupdown; double d = (double) weiguidesc.length() / 18;//文本长度除以每行字符长度 int okcprogress = (int) (Math.floor(d))+1;//除数取整,也就是行数 Log.i("lgq","lllll===-"+weiguidesc.length()+"......."+okcprogress); wgmiaostext.setLines(okcprogress);//展开全部 }else { Animation anim =new RotateAnimation(180f, 0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); anim.setFillAfter(true); // 设置保持动画最后的状态 anim.setDuration(500); // 设置动画时间 anim.setInterpolator(new AccelerateInterpolator()); // 设置插入器 more_image.startAnimation(anim); wgmiaostext.setLines(2);//收缩为原始两行 ifupdown = !ifupdown; } break; } }