【发布时间】:2015-09-01 23:45:15
【问题描述】:
我目前有一个 ListView 设置,其中填充了来自我网站的 JSON 数据。我想在 ListView 上方添加一个布局,但仍然使用 ListView 使其可滚动。
这是我当前的 ListView 布局 (listview_layout.xml):
<LinearLayout
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">
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="0dp"
android:divider="@null" />
</LinearLayout>
下面是片段中的onCreateView() 方法,它将 JSON 数据加载到适配器,然后加载到 ListView:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.listview_layout, container, false);
final ListView listView = (ListView) view.findViewById(R.id.listview);
final ArrayList<User> userArray = new ArrayList<User>();
final RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint(URL).build();
final ApiEndpointInterface apiService = restAdapter.create(ApiEndpointInterface.class);
apiService.getUsers(new Callback<UserData>() {
@Override
public void success(UserData userData, Response response) {
final UserAdapter adapter = new UserAdapter(getActivity(), userArray);
userArray.addAll(userData.getData());
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
@Override
public void failure(RetrofitError retrofitError) {
retrofitError.printStackTrace();
}
});
return view;
}
这是我想要在 ListView 上方的布局:
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginBottom="30dp">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@drawable/ic_user"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:layout_gravity="center_vertical" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="User"
android:textSize="18sp"
android:layout_gravity="center_vertical" />
</LinearLayout>
如何在 ListView 上方添加此布局并使其与 ListView 一起滚动(不是粘性/固定布局)?
为了说明,这就是我需要的。请注意滚动条(红色)在整个屏幕上,而不仅仅是 ListView:
【问题讨论】:
-
添加布局作为listview的headerview
标签: android android-layout android-fragments android-activity android-xml