ListFragment布局从XML [英] ListFragment Layout from xml
问题描述
如何创建XML布局(支持V4库)一个 ListFragment
?
ListFragment
设置其布局以编程方式,因此,如果您要修改它,你需要惹添加/删除视图。
How to create a ListFragment
(of the support v4 library) layout from xml?
ListFragment
setups its layout programmatically, so if you want to modify it you need to mess with add/remove view.
推荐答案
我已经转换为XML创建的布局,您可以添加/删除您的部件或如添加 pulltorefresh
解决方案。你不应该改变所需要的标识。
由于需要的一些辅助功能需要的部件内部的ID被调用,它需要支持V4命名空间中,因为常数是内部使用默认的知名度。
I've converted the created layout to xml, you can add/remove your widgets or e.g. add pulltorefresh
solutions. You shouldn't change the needed ids.
Because of internal ids needed for some of the widgets an helper function needs to be called and it needs to be in support v4 namespace since constants are internal with default visibility.
list_loader.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/progress_container_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone" >
<ProgressBar
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<FrameLayout
android:id="@+id/list_container_id"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/empty_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false" >
</ListView>
</FrameLayout>
</FrameLayout>
和 android.support.v4.app </ code>类
ListFragmentLayout
(在你的项目,你不需要修改的支持V4罐子)
and the class ListFragmentLayout
in android.support.v4.app
(in your project, you don't need to modify support v4 jar)
package android.support.v4.app;
import your.package.R;
import android.view.View;
public class ListFragmentLayout
{
public static void setupIds(View view)
{
view.findViewById(R.id.empty_id).setId(ListFragment.INTERNAL_EMPTY_ID);
view.findViewById(R.id.progress_container_id).setId(ListFragment.INTERNAL_PROGRESS_CONTAINER_ID);
view.findViewById(R.id.list_container_id).setId(ListFragment.INTERNAL_LIST_CONTAINER_ID);
}
}
在你的片段扩展 ListFragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.list_loader, container, false);
ListFragmentLayout.setupIds(view);
return view;
}
这篇关于ListFragment布局从XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!