将视图放在scrollview上方

时间:2014-04-27 04:33:08

标签: android

我在我的Android应用程序中有一个支持过度滚动的滚动视图,并具有很好的反弹效果。我想要做的是添加一个最初隐藏给用户的视图,但如果它们向上滚动到初始视图之外,那么他们就可以看到它。我怎样才能做到这一点?是否可以只使用xml?

2 个答案:

答案 0 :(得分:0)

您可以将初始视图和其他视图放在LinearLayout中,并且在创建滚动视图时,您可以立即向下滚动到初始视图。您可以使用xml属性android:scrollY设置初始滚动偏移。

答案 1 :(得分:0)

通过代码你绝对可以实现这一目标。在这个示例代码中,我在srollview中有15个按钮。并隐藏第一个按钮进行初始显示。

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

    final ScrollView hscrollViewMain = (ScrollView)findViewById(R.id.sview);

    hscrollViewMain.post(new Runnable() {
       public void run() {

            Button bt2 = (Button)findViewById(R.id.button2);
            int nY_Pos = bt2.getTop(); 
            // scroll to top of bt2
            hscrollViewMain.scrollTo(0,nY_Pos);
        }
    }); 
}

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
 >

<LinearLayout

    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <Button
        android:layout_width="fill_parent"
         android:id="@+id/bt1"
        android:layout_height="wrap_content"
        android:text="Button 1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"

        android:text="Button 2" />

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Button 3" />
                .
                .
                .
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Button 15" />
    </LinearLayout>

    </ScrollView>