安卓学习笔记_Day_05
程序员文章站
2024-02-10 09:15:52
...
目录
AdapterViewFlipper
在布局文件中设置:
<AdapterViewFlipper
android:id="@+id/flipper"
android:layout_width="409dp"
android:layout_height="734dp"
android:layout_alignParentTop="true"
android:flipInterval="1000"
></AdapterViewFlipper>
在主活动中创建适配器:
flipper = findViewById(R.id.flipper);
//创建一个BaseAdapter对象,该对象负责提供AdapterViewFlipperTest所显示的列表项
BaseAdapter adapter = new BaseAdapter() {
@Override
public int getCount() {
return imagesIds.length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if(convertView == null){
//创建一个ImageView
imageView = new ImageView(MainActivity.this);
}else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imagesIds[position]);
//为ImageView设置缩放类型
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
//为ImageView设置布局参数
imageView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
));
return imageView;
}
};
flipper.setAdapter(adapter);
}
用于播放的函数:
public void prev(View source){
//显示上一个组件
flipper.showPrevious();
//停止自动播放
flipper.stopFlipping();
}
public void next(View source){
//显示下一个组件
flipper.showNext();
//停止自动播放
flipper.stopFlipping();
}
public void auto(View source){
//自动播放
flipper.startFlipping();
}
StackView:
<StackView
android:id="@+id/stack"
android:loopViews="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
创建一个SimpleAdapter作为StackView的适配器:
//创建一个List对象,里面的元素是Map
List<Map<String,Object>> listItems = new ArrayList<>();
for (int i = 0; i<imageIds.length;i++){
Map<String,Object> listItem = new HashMap<>();
listItem.put("image",imageIds[i]);
listItem.put("name","girl "+i);
listItems.add(listItem);
}
//创建一个SimpleAdapter
SimpleAdapter adapter = new SimpleAdapter(this,listItems,R.layout.cell,new String[]{"image","name"},
new int[]{R.id.image1,R.id.name1});
stackView.setAdapter(adapter);
上一篇: 根据银行卡账号获取所属银行php代码
下一篇: Android学习笔记day_05