@flyouting
2014-03-19T08:25:56.000000Z
字数 1558
阅读 3694
这是基于Android Studio及Fragment的相机开发的第五章,如果你还没准备好,先去github上拉一下我的一个示例工程。本章主要包含“HorizontalPhotoGalleryFragment.”
如果没有第三方的支持,在Android中实现水平滚动列表是很麻烦的事情,这里,我使用了 Lucas Rocha的TwoWayView,想使用这个类的话,有些文件引入是必要的,比如attr.xml,这些在工程中的都有提供。
如果你看下 /res/layout 文件夹,你可以看到fragment_horizontal_gallery.xml文件。使用TwoWayView在布局中实现如下:
<com.ultimate.camera.views.TwoWayViewandroid:orientation="horizontal"android:id="@+id/horizontalList"android:layout_width="match_parent"android:layout_height="fill_parent"android:drawSelectorOnTop="false"android:layout_marginLeft="10dp"android:layout_marginBottom="50dp"android:layout_marginTop="50dp"android:layout_marginRight="10dp"/>
如果你打开HorizontalPhotoGalleryFragment.java 文件,你可以看到:
/*** Create View!* @param inflater* @param container* @param savedInstanceState* @return*/@Overridepublic View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {View view = null;view = inflater.inflate(R.layout.fragment_horizontal_gallery, container, false);// Set the mAdaptermEmptyTextView = (TextView)view.findViewById(R.id.empty);mHorizontalListView = (TwoWayView) view.findViewById(R.id.horizontalList);mHorizontalListView.setAdapter(mAdapter);mHorizontalListView.setItemMargin(10);resolveEmptyText();return view;}
注意如下几行:
mHorizontalListView = (TwoWayView) view.findViewById(R.id.horizontalList);mHorizontalListView.setAdapter(mAdapter);mHorizontalListView.setItemMargin(10);
这里给水平滑动列表加载了Adapter,设置了item间的水平间距。
TwoWayView的好处是它的行为在本质上和ListView和GridView是相同的,一旦我们将其绑定到一个适配器,它将自动链接到我们的 PhotoListItem 对象。当你编译并运行后,你应该看到一个横向排列图片的列表。
翻译:@flyouting
时间:2014/03/19
源地址