Android Scrollview不断扩大和缩小

时间:2016-12-06 07:51:27

标签: android animation scrollview

如何在滚动视图下方添加一个向下箭头按钮,以便在按下它时滚动视图会扩展到一个高度。再次按下它会收缩到原始高度。我只想显示一个小内容在ScrollView中,按下按钮会显示更多内容。

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

这是我的scrollview

        <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>

我想显示一小部分tablelayout并按下按钮

显示其余部分

2 个答案:

答案 0 :(得分:1)

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

在您的活动中添加全局布尔变量,以检查是否展开了scrollview。

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;
}

答案 1 :(得分:1)

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

您只需将以下内容添加到 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>