亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TextView文本截斷后顯示更多按鈕

發布時間:2024-08-21 11:09:23 來源:億速云 閱讀:84 作者:小樊 欄目:移動開發

如果想要在TextView文本截斷后顯示更多按鈕,可以通過以下方式實現:

  1. 創建一個自定義的TextView子類,例如ExpandableTextView。
  2. 在ExpandableTextView中添加一個按鈕(如“更多”按鈕)。
  3. 在ExpandableTextView中重寫setText方法,判斷文本內容是否超過一定長度,如果超過則截斷文本,并在末尾添加“…更多”提示。
  4. 當點擊“更多”按鈕時,展開文本內容,顯示完整文本內容。

以下是一個簡單的示例代碼:

public class ExpandableTextView extends TextView {

    private boolean isExpanded = false;
    private String originalText;
    private int maxLines = 2;

    public ExpandableTextView(Context context) {
        super(context);
        init();
    }

    public ExpandableTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public ExpandableTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    private void init() {
        setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                isExpanded = !isExpanded;
                setText(isExpanded ? originalText : getTrimmedText());
            }
        });
    }

    public void setMaxLines(int maxLines) {
        this.maxLines = maxLines;
    }

    @Override
    public void setText(CharSequence text, BufferType type) {
        originalText = text.toString();
        super.setText(isExpanded ? text : getTrimmedText(), type);
    }

    private CharSequence getTrimmedText() {
        Layout layout = getLayout();
        if (layout != null && layout.getLineCount() > maxLines) {
            int ellipsisCount = layout.getEllipsisCount(maxLines - 1);
            int start = layout.getLineStart(0);
            int end = layout.getLineEnd(maxLines - 1) - ellipsisCount;
            return originalText.substring(start, end) + " ...更多";
        }
        return originalText;
    }
}

使用該ExpandableTextView的示例代碼:

ExpandableTextView expandableTextView = findViewById(R.id.expandableTextView);
expandableTextView.setText("這是一段很長的文本內容,當超過指定行數時會被截斷,點擊更多按鈕可以展開完整內容。");

通過以上方法,可以實現在TextView文本截斷后顯示更多按鈕的效果。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

许昌市| 武陟县| 会昌县| 开江县| 衡阳市| 鄂托克旗| 互助| 泰和县| 弥勒县| 宁城县| 临武县| 隆子县| 峨边| 舒兰市| 慈利县| 苗栗县| 保定市| 郸城县| 德州市| 内乡县| 青冈县| 巴彦淖尔市| 拉萨市| 鄂州市| 福清市| 新疆| 邹平县| 余江县| 阿克| 泌阳县| 松溪县| 墨玉县| 吴川市| 湘西| 阳春市| 满城县| 北流市| 扎兰屯市| 安多县| 泰州市| 阳东县|