• Android设置TextView显示一行或多行


    在listView的item中或者是特殊的业务需求中,会要求TextView的内容不完全显示,只有通过一个指定的操作后才显示所有的,比如说一个按钮或者是其它的什么控件。

    要想实现这个效果并不难,只要控制好TextView的行数就行。文章中介绍了两种实现方法,一种是给button添加Flag,另一种是给button添加Tag,两种方法都可以,具体说不上哪种更好,哪种适合用哪种。

    第一种方法的布局,注意TextView中必须加上android:ellipsize和android:maxLines这两条属性,不然的话效果出不来:

    <span style="font-size:14px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
        <TextView
            android:id="@+id/text1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/text1"
            android:layout_marginTop="10dp" >
    
            <TextView
                android:id="@+id/text2"
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:maxLines="2"
                android:text="四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉四谛法邝健廉" />
    
            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginTop="10dp"
                android:text="下拉" />
        </RelativeLayout>
    
    </RelativeLayout></span>

    接下来就可以在类中控制这个TextView显示或者隐藏了。

    <span style="font-size:14px;">        button.setOnClickListener(new OnClickListener() {
                Boolean flag = true;
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    if (flag) {
                        flag = false;
                        text.setEllipsize(null);// 展开
                        text.setSingleLine(flag);
                        button.setText("隐藏");
                    } else {
                        flag = true;
                        text.setMaxLines(2);// 收缩
                        button.setText("显示");
                        // text.setEllipsize(TruncateAt.END);
                    }
                }
            });</span>

    或者可以在Button中添加一个Tag

    <span style="font-size:14px;"><Button
                android:id="@+id/item_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="10dp"
                android:background="@drawable/packup"
                android:tag="true" /></span>

    同样,在代码中获取到改按钮的tag进行控制

    <span style="font-size:14px;">        viewItme.item_btn.setOnClickListener(new OnClickListener() {
                
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Boolean flag = Boolean.valueOf((String) viewItme.item_btn.getTag()) ;
                    if (flag) {
                        // 展开
                        viewItme.item_btn.setTag("false");
                        viewItme.inspecttext_tv.setEllipsize(null);
                        viewItme.inspecttype_tv.setEllipsize(null);
                        viewItme.item_describe.setEllipsize(null);
                        viewItme.item_describe.setMaxLines(10);
                        viewItme.item_btn.setBackgroundResource(R.drawable.unfloddd);
                    } else {
                        // 收缩
                        viewItme.item_btn.setTag("true");
                        viewItme.item_describe.setMaxLines(1);
                        viewItme.item_btn.setBackgroundResource(R.drawable.packup);
                    }
                }
            });</span>
  • 相关阅读:
    05
    04
    03
    02
    01
    drf 频率类
    drf 视图家族
    drf 之 群改,单改接口
    drf 序列化
    drf 之模块
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5806272.html
Copyright © 2020-2023  润新知