本帖最后由 oktongguo 于 2022-5-17 14:01 编辑
自动播放图片的代码,这里int[] imageIds 数组是固定的,我要让用户输入框输入一个数字,然后获取这个数字,这个数字是这个数组的长度。也就是说,播放几张图片,由用户说了算。怎么才能修改这个数组?
[Java] 纯文本查看 复制代码 public class MainActivity extends Activity {
private AdapterViewFlipper flipper;
private TextView txt;
private int imgleng=0;
private int [] imageIds = new int[]{
R.drawable.banana,
R.drawable.banana_p1,
R.drawable.banana_p2,
R.drawable.banana_p3,
R.drawable.banana_p4,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = findViewById(R.id.activitymainTextView1);
//创建一个BaseAdapter对象,该对象负责提供Gallery所显示的列表项
flipper = (AdapterViewFlipper)findViewById(R.id.flipper);//得到AdapterViewFlipper
BaseAdapter adapter = new BaseAdapter() {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//创建一个ImageView
ImageView imageView =new ImageView(MainActivity.this);
//设置要显示的图片
imageView.setBackgroundResource(imageIds[position]);
//为imageView设置缩放类型
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
//为imageview设置布局
imageView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
return imageView;
}
@Override
public long getItemId(int position) {
// TODO自动生成的方法存根
//显示当前图片序号
txt.setText(position + "");
return position;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
imgleng = imageIds.length - 2;
return imgleng;
}
};
//设置数据适配器
flipper.setAdapter(adapter);
}
//开始自动播放
public void auto(View source) {
//设置自动播放间隔时间1000是一秒
flipper.setFlipInterval(1000);
flipper.startFlipping();
}
}
|