@YoniSamlan이 지적했듯이 간단한 방법으로 달성 할 수 있습니다. 지정해야합니다
android:layout_height="wrap_content"
"추가로드"버튼이 포함 된 ViewGroup에서 FrameLayout 일 필요는 없습니다. LinearLayout을 사용하는 간단한 작업 예제는 아래를 참조하십시오.
두 이미지 모두 맨 아래로 스크롤되는 화면을 보여줍니다. 첫 번째 항목에는 "추가로드"버튼을 둘러싼 보이는 바닥 글이 있습니다. 두 번째 이미지는 버튼의 가시성을 GONE으로 설정하면 바닥 글이 축소되는 것을 보여줍니다.
가시성을 변경하여 바닥 글 (일부 콜백 내부)을 다시 표시 할 수 있습니다.
loadMore.setVisibility(View.VISIBLE); // set to View.GONE to hide it again
평소대로 listView 초기화를 수행하십시오.
mListView = (ListView) root.findViewById(R.id.reservations_search_results);
mListView.setEmptyView(root.findViewById(R.id.search_reservations_list_empty));
footerView = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.load_more_footer_view, null, false);
loadMore = footerView.findViewById(R.id.load_more);
loadMore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fetchData();
}
});
mListView.addFooterView(footerView);
adapter = new ReservationsArrayAdapter(getActivity(), R.layout.list_item_reservations_search, reservationsList);
mListView.setAdapter(adapter);
load_more_footer_view.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/load_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="9dp"
android:gravity="center"
android:layout_gravity="center"
android:background="@drawable/transparent_white_border"
android:textColor="@android:color/white"
android:text="@string/LOAD_MORE"/>