android教程之教你用Gallery+ImageSwitcher实现相册功能(二)
1、 接着上讲的内容,我们上次已经实现了用Gallery查看相册的缩略图,但是在该显示图片的地方我们却留白,现在就是用上这块空白区域的时候。
2、 首先添加一个ImageSwitcher控件,这个控件是用来实现在点击了某张图片的时候的显示。修改main.xml为
<?xml version=“1.0″ encoding=“utf-8″?>
<RelativeLayout xmlns:android=“apk/res/android”
android:orientation=“vertical”
android:layout_width=“fill_parent”
android:layout_height=“fill_parent”
>
<ImageSwitcher android:id=“@+id/switcher”
android:layout_width=“fill_parent”
android:layout_height=“260px”
android:layout_alignParentTop=“true”
android:layout_alignParentLeft=“true”
/>
<Gallery
android:id=“@+id/gallery”
android:layout_width=“fill_parent”
android:layout_height=“wrap_content”
android:spacing=“10dip”
android:layout_alignParentBottom=“true”
android:gravity=“center_vertical”
/>
</RelativeLayout>
3、 使MainActivity实现OnItemSelectedListener, ViewFactory接口,既
| public class MainActivity extends Activity implements OnItemSelectedListener, ViewFactory {} |
这时候编译器会提示MainActivity处有错,把鼠标移到那里,可以看到提示的改错方案,选择add implements methods,这样编译器会帮助我们生成onItemSelected,onNothingSelected和makeView 3个方法。
4、 在MainActivity中添加如下代码,具体的说明看注释
| public class MainActivity extends Activity implements OnItemSelectedListener, ViewFactory {};
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {}
//ImageAdapter图片接口类 继承与BaseAdapter public class ImageAdapter extends BaseAdapter{} @Override //getCount函数,用于返回图片的张数 public int getCount() {}
@Override //getItem函数,用于返回图片的位置 public Object getItem(int position) {}
@Override public long getItemId(int position) {}
@Override //最主要的函数 返回一个ImageView的对象 public View getView(int position, View v, ViewGroup parent) {}
}
@Override public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3) {}
@Override public void onNothingSelected(AdapterView<?> arg0) {}
@Override public View makeView() {} |
5、 效果
6、 这时候我们的基本功能就已经实现了,但是我们还可以做点优化,在我们查看相册的时候,我们是不是不用看到这个应用程序的标题?对了,我们把它隐藏掉吧。添加一句代码就行了。
| requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题 |
这样目的基本达到,但是不是还想要全屏呢?这也有办法的啦,添加代码
| int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN; //全屏Window myw = this.getWindow();myw.setFlags(flag, flag); |
7、 我们再来看运行效果,是不是舒服多了呢?
search Citroen asearchi Description g Description search
Concessionario Datingsitesfree asearchi Dating g Datingsitesfree i Dating e
你那字体应该大一点,像这么长的文章就分几回来写,还有啊,那里面的图片弄些正常的,这几张估计只能吸引男的。