代码移动Gallery 中的图片

本文介绍了一个简单的Android应用程序,用于实现图片的循环播放功能。通过使用Gallery组件和自定义的ArrayAdapter,可以轻松地控制图片的展示顺序并实现无限循环的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天准备弄一个这个东西因为有的人想实现循环 播放图片,仔细想了想 其实还是用arraylisy来控制里面的图片位置相对简单这样就容易控制循环了,虽然本实例没实现循环但是还是可以实现的。只要牵扯到自定义的arrayAdapter 还是注意继承getView 在里面设置一个变量参数 就可以实现变化 这就是关键所在吧

 

public class Splash extends Activity { 
 
   
ArrayList objects = new ArrayList(); 
   
Gallery g; 
   
int i = 0; 
   
@Override 
   
public void onCreate(Bundle icicle) {          super.onCreate(icicle); 
        setContentView
(R.layout.photos); 
        g
= (Gallery) findViewById(R.id.gallery); 
        objects
.add(getResources().getDrawable(R.drawable.icon)); 
        objects
.add(getResources().getDrawable(R.drawable.icon)); 
        objects
.add(getResources().getDrawable(R.drawable.icon)); 
        objects
.add(getResources().getDrawable(R.drawable.icon)); 
        objects
.add(getResources().getDrawable(R.drawable.icon)); 
        objects
.add(getResources().getDrawable(R.drawable.icon)); 
        g
.setAdapter(new CustomAdapter(this, objects)); 
        g
.setOnItemSelectedListener(new OnItemSelectedListener() { 
 
           
@Override 
           
public void onItemSelected(AdapterView arg0, View arg1, 
                   
int arg2, long arg3) { 
               
Log.i("", "selected " + arg2); 
           
} 
 
           
@Override 
           
public void onNothingSelected(AdapterView arg0) {} 
       
}); 
   
} 
 
   
@Override 
   
public void onBackPressed() { 
            g
.setSelection(i++); 
   
} 
 
       
private class CustomAdapter extends BaseAdapter { 
 
       
private Context mCtx; 
       
private List objects; 
 
       
public int getCount() { 
           
return this.objects.size(); 
       
} 
 
       
public Object getItem(int position) { 
           
return position; 
       
} 
 
       
public long getItemId(int position) { 
           
return position; 
       
} 
 
       
public CustomAdapter(Context context, ArrayList objects) { 
           
super(); 
            mCtx
= context; 
           
this.objects = objects; 
       
} 
 
       
@Override 
       
public View getView(int position, View convertView, ViewGroup parent) { 
           
ImageView row = (ImageView) convertView; 
           
if (row == null) { 
                row
= new ImageView(mCtx); 
                row
.setBackgroundDrawable(objects.get(position)); 
           
} 
           
return row; 
       
} 
   
} 
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值