在我设计的Android 4.1应用程序中,我试图让我的底部栏有两个按钮是动态的,即使我在的时候也不会卡在屏幕的底部页面顶部。我希望它只在用户向下滚动到页面的最末端时才会出现。现在,无论我尝试多少,它仍然固定在屏幕的底部。我真的很感激一些帮助。 感谢。
project_search_list.xml
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@android:id/list"
android:layout_width="fill_parent" android:layout_height="0dip"
android:layout_weight="1" android:drawSelectorOnTop="false"
/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:contentDescription="@string/description"
android:gravity="left"
android:scaleType="fitXY" />
<TextView
android:id="@+id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="left"
android:text="" />
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:id="@+id/footer" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_alignParentBottom="true" style="@android:style/ButtonBar">
<Button android:id="@+id/prev_10_results" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight="1"
android:text="@string/prev_10_results" />
<Button android:id="@+id/next_10_results" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight="1"
android:text="@string/next_10_results" />
</LinearLayout>
</ScrollView>
</LinearLayout>
这是一个截屏。注意底部的按钮栏?我希望它只在我向下滚动到页面末尾时出现。
答案 0 :(得分:1)
这应该可以帮助您入门,检查onscrollstatechanged并显示行,然后执行正确的操作,例如切换或设置按钮栏的动画,如果使用可见性,列表视图将在按钮栏之前的部分进行。这样你底部就没有空格了:
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == 0 && mListContent.getLastVisiblePosition() == 0
&& buttonbar.getVisibility() == View.GONE) {
toggleButtonbar();
} else if (mListContent.getLastVisiblePosition() != 0
&& buttonbar.getVisibility() == View.VISIBLE) {
toggleButtonbar();
}
}