MainActivity如下:
main.xml如下:
gallery_item.xml如下:
package cc.cv; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.app.Activity; import android.content.Context; /** * Demo描述: * HorizontalScrollView的简单使用 * * 在Google文档中Gallery已经弃用.推荐使用HorizontalScrollView和ViewPager. * ViewPager用过不少,HorizontalScrollView倒是很少使用.所以在此学习. * * Demo说明: * 1 布局文件很简单,在HorizontalScrollView中嵌套了一个LinearLayout * 2 在代码中只需将自定义的View添加到LinearLayout中即可. * 这样就可以实现水平滑动了. * */ public class MainActivity extends Activity { private Context mContext; private int [] mPhotosIntArray; private LayoutInflater mLayoutInflater; private LinearLayout mGalleryLinearLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initView(); initData(); } private void initView(){ mContext=this; mGalleryLinearLayout=(LinearLayout) findViewById(R.id.galleryLinearLayout); mLayoutInflater=LayoutInflater.from(mContext); } private void initData(){ mPhotosIntArray=new int[]{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g,R.drawable.h}; View itemView=null; ImageView imageView=null; TextView textView; for (int i = 0; i < mPhotosIntArray.length; i++) { itemView=mLayoutInflater.inflate(R.layout.gallery_item, null); imageView=(ImageView) itemView.findViewById(R.id.imageView); textView=(TextView) itemView.findViewById(R.id.textView); imageView.setImageResource(mPhotosIntArray[i]); textView.setText("This is "+(i+1)); mGalleryLinearLayout.addView(itemView); } } }
main.xml如下:
<RelativeLayout 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" > <HorizontalScrollView android:layout_width="match_parent" android:layout_height="150dip" android:layout_centerInParent="true" android:scrollbars="horizontal" > <LinearLayout android:id="@+id/galleryLinearLayout" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center_vertical" > </LinearLayout> </HorizontalScrollView> </RelativeLayout>
gallery_item.xml如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:id="@+id/imageView" android:layout_width="80dip" android:layout_height="80dip" android:layout_centerHorizontal="true" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/imageView" android:layout_centerHorizontal="true" android:layout_marginTop="8dip" /> </RelativeLayout>