如何在 TextView 中创建下拉文本 - Android

问题描述 投票:0回答:3

我想在 Android 中创建一个

TextView
,当单击它时,会显示文本的其余部分,即类似于导入语句的隐藏/显示,其中 单击减号/加号显示/隐藏其余的导入语句。 我想要这样是为了节省屏幕空间! 我见过带有
Textview
Spinner
的示例 - 但这些正在创建列表以从中选择项目 - 我只想要一个简单的隐藏/显示,显示标题,以及用于隐藏/显示的箭头或减号/加号完整的文档。

android textview spinner
3个回答
0
投票

在您的情况下,只需创建一个自定义布局,其中包含两个文本视图,而不是创建自定义文本视图。您可以编写方法来设置/获取文本并显示/隐藏布局中存在的任何文本视图。


0
投票

创建自定义列表视图适配器,在视图方法中添加引用/声明加号/减号按钮,在 onClick 语句(适配器内部)中添加加号和减号的方法,这将根据“单击”的内容(即当加号时)切换布局单击执行替代布局,当减去选择时执行标准布局。 如果您不确定,有大量关于创建自定义适配器的在线资源..


0
投票

我认为你需要这样的东西:

XML:

<LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/expandableTextView"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <ImageButton
            android:id="@+id/expandBtn"
            android:src="@drawable/plusIcon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        </LinearLayout>


代码:

    final int MIN_CHARS = 10;
    String fullText;
    boolean isExpanded;

    TextView textView = (TextView) findViewById(R.id.expandableTextView);
    ImageButton imageButton = (ImageButton) findViewById(R.id.expandBtn);

    fullText = textView.getText().toString();
    textView.setText(fullText.substring(0,MIN_CHARS));
    imageButton.setImageResource(R.drawable.plusIcon);
    imageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            isExpanded = ! isExpanded;
            imageButton.setImageResource(isExpanded?R.drawable.minusIcon:R.drawable.plusIcon);
            textView.setText(isExpanded?fullText:fullText.substring(0,MIN_CHARS));
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.