Android StackView用法
来源:互联网 发布:淘宝充气娃娃哪家好 编辑:程序博客网 时间:2024/06/01 10:22
效果图
代码
首先我们看布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.stackviewdemo.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="25sp" android:textColor="#ff0000" android:text="当前位置" /> <Button android:id="@+id/btn_down" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click" android:text="向下轮播" /> <Button android:id="@+id/btn_up" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click" android:text="向上轮播" /> </LinearLayout> <StackView android:id="@+id/stackview" android:layout_width="match_parent" android:layout_height="match_parent" android:loopViews="true" /></LinearLayout>
布局文件很简单,主要就是使用了一个StackView,这里我们给它加了一个属性loopViews为true,表示可以循环滑动。
然后我们看Java代码
public class MainActivity extends AppCompatActivity { private StackView stackView; private int[] imageIds = {R.drawable.ym1,R.drawable.ym2,R.drawable.ym3,R.drawable.ym4}; private List<Integer> images = new ArrayList<>(); private ImageAdapter imageAdapter; private TextView textView; private Timer down; private Timer timerup; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); stackView = (StackView) findViewById(R.id.stackview); textView = (TextView) findViewById(R.id.textview); initData(); imageAdapter = new ImageAdapter(images, this); stackView.setAdapter(imageAdapter); stackView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { textView.setText("第"+(position+1)+"个杨幂"); } }); } public void initData(){ for (int i = 0; i < imageIds.length; i++) { images.add(imageIds[i]); } } public void click(View view){ switch (view.getId()){ case R.id.btn_down: if(timerup!=null){ timerup.cancel(); } down = new Timer(); down.schedule(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { stackView.showNext(); } }); } },0,1000); break; case R.id.btn_up: if(down!=null){ down.cancel(); } timerup = new Timer(); timerup.schedule(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { stackView.showPrevious(); } }); } },0,1000); break; } }}
给StackView设置了一个ImageAdapter
public class ImageAdapter extends BaseAdapter { private List<Integer> mImages; private Context mContext; public ImageAdapter(List<Integer> mImages,Context context){ this.mImages = mImages; mContext = context; } @Override public int getCount() { return mImages.size(); } @Override public Object getItem(int position) { return mImages.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView = new ImageView(mContext); imageView.setImageResource(mImages.get(position)); return imageView; }}
0 0
- Android StackView用法
- Android StackView用法
- Android StackView 堆叠视图
- StackView
- StackView
- Android ViewFlipper/ViewSwitcher/ViewPager/VerticalViewPager/ViewFlow/StackView/AdapterViewFli用法案例实现
- Android中StackView的使用
- 第27章:StackView的用法
- StackView的基本功能与用法(叠在一起的图片)
- android studio StackView控件的源码解释和简单示例
- Android零基础入门第50节:StackView卡片堆叠
- Android的AdapterViewFlipper和Stackview-android学习之旅(三十)
- Android Widget 小部件(四---完结) 使用ListView、GridView、StackView、ViewFlipper展示Widget
- Android 中如何才能让 StackView 的 OnItemSelectedListener 侦听器响应选中事件
- Android学习笔记二十七之ExpandableListView可折叠列表和StackView栈视图
- android桌面小部件appwidget使用ListView或者StackView如何刷新
- Android学习笔记二十七之ExpandableListView可折叠列表和StackView栈视图
- StackView Widget示例程序
- 341. Flatten Nested List Iterator【M】【42】
- 【题】【差分约束】NKOJ 2457 矩阵问题
- Greta 入门指南
- 一个都不能少观后感
- springMVC事务和仓库注解
- Android StackView用法
- 回溯法——combination-sum、combination-sum-ii
- JVM性能调优2:JVM性能调优参数整理
- :Hadoop、NoSQL、分布式、lucene、solr、nutch kafka入门:简介、使用场景、设计原理、主要配置及集群搭
- js根据数组对象中某属性进行排序
- Linux挂载移动硬盘
- OC语言7—多态
- 据说看完这21个故事的人,30岁前都成了亿万富翁。你是下一个吗?
- CydiaSubstrate的简单使用