自从滑动功能出来后人们都习惯手滑来滑去,现在我做了一个简单例子,实现页面之间的左右滑动。实现的方法有很多,我这里用的是Gallery加载适配器的方法。
有图有真像:
第一界面,内容差不多,只是前面的编号不一样。
滑动过程
例子结构
一个activity
PageScrollActivity.java
package com.harlan.act;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Gallery;
import com.harlan.act.adapter.PageAdapter;
import com.harlan.entity.Img;
/**
* 页面滑动
* @author Harlan Song
* @email mark_dev@163.com
*/
public class PageScrollActivity extends Activity {
private Gallery gallery;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gallery = (Gallery) findViewById(R.id.gallery1);
List<Img> list=new ArrayList<Img>();
Img img;
for (int i = 1; i < 11; i++) {
img=new Img();
img.setDes(i+".这种房子非常有创意,太漂亮了,喜欢大自然的感觉,它能给人带来好的心情!");
//图片就不加载了
list.add(img);
}
PageAdapter pageAdapter=new PageAdapter(PageScrollActivity.this, list);
gallery.setAdapter(pageAdapter);
}
}
gallery配置器
PageAdapter.java
package com.harlan.act.adapter;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.harlan.act.R;
import com.harlan.entity.Img;
public class PageAdapter extends BaseAdapter {
private List<Img> list;
LayoutInflater inflater;
public PageAdapter(Context context,List<Img> list) {
this.list=list;
this.inflater=LayoutInflater.from(context);
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
CacheView cacheView;
if(convertView==null){
convertView=inflater.inflate(R.layout.item_page, null);
cacheView=new CacheView();
cacheView.tv_des=(TextView) convertView.findViewById(R.id.tv_des);
//cacheView.imgv_img=(ImageView) convertView.findViewById(R.id.imageView1);
convertView.setTag(cacheView);
}else{
cacheView=(CacheView) convertView.getTag();
}
cacheView.tv_des.setText(list.get(position).getDes());
return convertView;
}
private static class CacheView{
TextView tv_des;
//ImageView imgv_img;
}
}
Img.java
package com.harlan.entity;
/**
* 图片实体类
* @author Harlan Song
* @email mark_dev@163.com
*/
public class Img {
private String des;//描述
private String imgurl;//图片路径
public String getDes() {
return des;
}
public void setDes(String des) {
this.des = des;
}
public String getImgurl() {
return imgurl;
}
public void setImgurl(String imgurl) {
this.imgurl = imgurl;
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Gallery
android:id="@+id/gallery1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:spacing="0dip" />
</LinearLayout>
item_page.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="5dip">
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/img_page"
/>
<TextView
android:id="@+id/tv_des"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
/>
</LinearLayout>
over,如果还有什么好方法还请赐教。