注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

罔少年

QQ 332256483

 
 
 

日志

 
 

Android StackView 卡片切换  

2015-09-16 16:38:38|  分类: android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
StackView 带适配器的堆视图,堆积层叠显示,继承AdapterViewAnimator

Android StackView 卡片切换 - 我是小黄人 - lanaiver6291的博客
 
点击上一页下一页,图片会上下滑入滑出,类似卡片塞入,抽出。也可以直接滑动图片切入切出

把StackView看成上下切换的ViewPager就很好理解,使用方式也一样

1、在XML布局中定义一个StackView,用来显示内容
2、给item设置一个Image布局
3、在Activity中,定义数据,适配器
4、StackView绑定适配

1)activity_main.xml

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">

<Button
android:id="@+id/btn_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_back"
android:onClick="click_back"
/>

<Button
android:id="@+id/btn_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_next"
android:layout_alignTop="@+id/btn_back"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="click_next"
/>

<StackView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/stackView"
android:layout_below="@+id/btn_next"
android:layout_marginTop="39dp" />


</RelativeLayout>



2)stackview.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">

<ImageView
android:id="@+id/image"
android:layout_width="120dp"
android:layout_height="120dp" />


</LinearLayout>


3)4)MainActivity.class

package com.mmz.flowlayout;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.SimpleAdapter;
import android.widget.StackView;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class MainActivity extends ActionBarActivity {

private StackView stackView;

int[] images = new int[]{
R.drawable.bg1, R.drawable.bg2, R.drawable.bg3, R.drawable.bg4
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

stackView = (StackView) findViewById(R.id.stackView);

List<Map<String, Object>> items = new ArrayList<Map<String, Object>>();

for (int image : images) {

Map<String, Object> map = new HashMap<String, Object>();

map.put("image", image);

items.add(map);
}

SimpleAdapter adapter = new SimpleAdapter(
this,
items,
R.layout.stackview,
new String[]{"image"},
new int[]{R.id.image} );
//绑定adapter
stackView.setAdapter(adapter);

}

//上一页
public void click_back(View v) {

stackView.showPrevious();

}

//下一页
public void click_next(View v) {

stackView.showNext();

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}






 
  评论这张
 
阅读(64)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017