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