一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - android 左右滑動+索引圖標實現方法與代碼

android 左右滑動+索引圖標實現方法與代碼

2020-12-28 10:45Android教程網 Android

使用Gallery和ImageView實現android左右滑動+索引圖標效果,接下來詳細介紹,有需要的朋友可以參考下

使用gallery和imageview實現android左右滑動+索引圖標效果。

android 左右滑動+索引圖標實現方法與代碼

android 左右滑動+索引圖標實現方法與代碼
首先自定義gallery實現一次只能滑動一個頁面

復制代碼 代碼如下:

public class mgalleryview extends gallery{
public mgalleryview(context context, attributeset attrs) {
super(context, attrs);
}
//一次只能滑動一張圖片注:一張圖充滿全屏
@override
public boolean onfling(motionevent e1, motionevent e2, float velocityx,
float velocityy) {
int kevent;
if (isscrollingleft(e1, e2)) {
// check if scrolling left
kevent = keyevent.keycode_dpad_left;
} else {
// otherwise scrolling right
kevent = keyevent.keycode_dpad_right;
}
onkeydown(kevent, null);
return true;
}
private boolean isscrollingleft(motionevent e1, motionevent e2) {
return e2.getx() > e1.getx();
}
}


然后再主activity"mgalleryactivity"的xml中注冊一下

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<!--自定義的gallery -->
<com.example.demo.mgalleryview
android:id="@+id/gallery_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:spacing="50dp"
android:layout_margintop="20dp"/>
<!--gallery的索引圖片容器 -->
<linearlayout
android:id="@+id/linearlayout_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margintop="-20dp"
android:orientation="horizontal"
android:gravity="center_horizontal"></linearlayout>
</linearlayout>


主activity的java代碼

復制代碼 代碼如下:

public class mgalleryactivity extends activity {
int[] data = new int[] { r.drawable.image1, r.drawable.image2,
r.drawable.image3, r.drawable.image4, r.drawable.image5,
r.drawable.image6 };
private imageview[] imageviews;
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.galleryactvity);
setview();
}
private void setview() {
mgalleryview gallery = (mgalleryview) findviewbyid(r.id.gallery_id);
linearlayout viewgroup = (linearlayout) findviewbyid(r.id.linearlayout_id);
imageviews = setgalleryindex(viewgroup);
gallery.setadapter(new mgalleryadapter(this, data));
//gallery每次滑動都調用這個方法
gallery.setonitemselectedlistener(new onitemselectedlistener() {
@override
public void onitemselected(adapterview<?> arg0, view arg1,
int arg2, long arg3) {
//使用for循環,給所有的gallery索引添加圖片
for (int i = 0; i < imageviews.length; i++) {
imageviews[i]
.setimageresource(r.drawable.alipay_n);
}
//為被選中的gallery的索引添加圖片
imageviews[arg2].setimageresource(r.drawable.alipay_s);
}
@override
public void onnothingselected(adapterview<?> arg0) {
}
});
}
//設置左右滑動索引
private imageview[] setgalleryindex(linearlayout viewgroup) {
imageview[] images = new imageview[data.length];
for (int i = 0; i < images.length; i++) {
imageview newimage = new imageview(this);
newimage.setlayoutparams(new layoutparams(20, 10));
newimage.setpadding(5, 0, 5, 0);
images[i] = newimage;
if (i == 0) {
//默認選擇第一張
images[i].setimageresource(r.drawable.alipay_n);
} else {
images[i].setimageresource(r.drawable.alipay_s);
}
viewgroup.addview(images[i]);
}
return images;
}
}


gallery的適配器

復制代碼 代碼如下:

public class mgalleryadapter extends baseadapter{
private int[] data;
private context mcontext;
public mgalleryadapter(context context,int[] data) {
this.data=data;
this.mcontext=context;
}
@override
public int getcount() {
// todo auto-generated method stub
return data.length;
}
@override
public object getitem(int position) {
// todo auto-generated method stub
return position;
}
@override
public long getitemid(int position) {
// todo auto-generated method stub
return 0;
}
@override
public view getview(int position, view convertview, viewgroup parent) {
imageview image = new imageview(mcontext);
image.setimageresource(data[position]);
return image;
}
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品成人456在线播放 | 国产普通话对白露脸流出 | 日本 在线播放 | 亚洲国产成人精品 | 亚洲国产福利精品一区二区 | 色综合色狠狠天天综合色 | 亚洲2卡三卡4卡5卡精品 | 美艳教师刘艳第三部166 | 午夜国产在线 | 亚洲3dxxxx动漫xxx| 国产精品亚洲精品观看不卡 | 国产成人精品午夜视频' | 风间由美在线 | 免费看视频高清在线观看 | 夫承子液by免费阅读 | 色综合色狠狠天天综合色 | 色亚| 暖暖视频免费观看视频中国.韩剧 | 久久精品动漫网一区二区 | 视频大全在线观看网址 | 国语精彩对白2021 | 欧美三级小视频 | 国产精品久久久久久爽爽爽 | 超级乱淫 不详 | 国产伦精品一区二区三区免费迷 | 草莓视频首页 | 免费看男女污污完整版 | 四虎影视网址 | 天天射夜夜爽 | 精品国产精品人妻久久无码五月天 | 精品视频免费在线观看 | 国产一级片免费观看 | 网址在线观看你懂我意思吧免费的 | 波多野结衣无码 | 免费稚嫩福利 | 精品国产乱码久久久久久软件 | 精品国产一区二区三区在线 | 校花被拖到野外伦小说 | 国产福利不卡视频在免费 | 丁香五香天堂网 | 视频免费视频观看网站 |