Android 滚动视图展开和缩小

Android Scrollview expanding and shrinking

我如何在滚动视图下方添加一个向下箭头之类的按钮,以便在按下它时滚动视图会扩展为 height.on 再次按下它它会缩小到原来的 height.i想在ScrollView中显示一小部分内容,按下按钮显示更多内容。

我怎样才能做到这一点?请帮忙。 感谢 advnc

这是我的滚动视图

        <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_marginBottom="@dimen/_5sdp"
        android:layout_height="@dimen/_120sdp"
        >

        <TableLayout
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/tl"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".customer.database.OrderNew_Activity"
            android:layout_weight="2"
            >



        </TableLayout>

    </ScrollView>

我想在按下按钮时显示一小部分表格布局和显示内容

在滚动视图下方添加一个按钮。

在您的 activity 中添加全局布尔变量以检查滚动视图是否展开。

boolean exapanded = false;

在按钮的 onclick 侦听器中执行以下操作

if(expanded){
scrollView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,100));
expanded = false;
}
else{
scrollView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
expanded = true;
}

在这里,我试着解决了你的问题。

您只需将以下内容添加到您的 build.gradle 文件中:

compile 'com.ms-square:expandableTextView:0.1.4'

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<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="com.expandabletextview.MainActivity">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.ms.square.android.expandabletextview.ExpandableTextView
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:expandableTextView="http://schemas.android.com/apk/res-auto"
            android:id="@+id/expand_text_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            expandableTextView:animDuration="500"
            expandableTextView:maxCollapsedLines="4">

            <TextView
                android:id="@id/expandable_text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:textColor="#666666"
                android:textSize="16dp" />

            <ImageButton
                android:id="@id/expand_collapse"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|bottom"
                android:background="@android:color/transparent"
                android:padding="16dp" />
        </com.ms.square.android.expandabletextview.ExpandableTextView>
    </ScrollView>
</RelativeLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // sample code snippet to set the text content on the ExpandableTextView
        ExpandableTextView expTv1 = (ExpandableTextView) findViewById(R.id.expand_text_view);

        // IMPORTANT - call setText on the ExpandableTextView to set the text content to display
        expTv1.setText(getString(R.string.dummy_text1));
    }
}

string.xml

<resources>
    <string name="dummy_text1">Hellooooooooooooooo This is dummy text. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</string>
</resources>