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

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

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;
}
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人精品综合在线观看 | 免费片在线观看高清 | 国产私拍精品88福利视频 | 国产亚洲女在线精品 | 99r在线观看 | 日本免费精品视频 | 美女女女女女女bbbbbb毛片 | 日本一区视频在线 | 男女乱淫真视频播放网站 | 女同变态 中文字幕 | 午夜久久免影院欧洲 | 久久综合给会久久狠狠狠 | 99 久久99久久精品免观看 | 欧美久久久久久久一区二区三区 | 日韩网站在线 | www.日本在线播放 | 双性总裁被调教1v1 双性双根 | 亚洲春色综合另类网蜜桃 | 青草青青在线 | 久久精品国产亚洲AV蜜臀 | 美女被扣逼| 日本大尺度动漫在线观看缘之空 | 激情小说色图 | 欧美日韩国产在线人成 | 成人性生交小说免费看 | 国产成人精品一区二三区2022 | 苍井空50分钟无码 | 青草视频网站 | 毛片在线网址 | 男人的天堂久久精品激情 | 2020年国产精品午夜福利在线观看 | 苍井空av | 四缺一小说 | 午夜理论电影在线观看亚洲 | 国产精品免费网站 | 亚洲系列在线 | 人生路不在线观看完整版 | 羞羞麻豆国产精品1区2区3区 | 欧美专区在线播放 | 99久久精品国产免看国产一区 | julia ann黑人巨大 |