80,361
社区成员
发帖
与我相关
我的任务
分享
package com.xyyj.sharefeelingsapp.page;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.xyyj.sharefeelingsapp.R;
import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.SimpleAdapter;
@SuppressLint({ "ValidFragment", "NewApi" })
public class RecordMood extends Fragment {
private View view;
private ListView recordlist;
private Map<String,Object> picUrlMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.recordmood,null);
recordlist = (ListView) view.findViewById(R.id.recordlist);
initList();
return view;
}
public void initList() {
List<Map<String,Object>> data = new ArrayList<Map<String,Object>>();
picUrlMap = new HashMap<String,Object>();
picUrlMap.put("pic",R.drawable.pic1);
picUrlMap.put("text", "测试一");
data.add(picUrlMap);
/* picUrlMap = new HashMap<String,Object>();
picUrlMap.put("pic",R.drawable.pic2);
picUrlMap.put("text", "测试一");
data.add(picUrlMap);
picUrlMap = new HashMap<String,Object>();
picUrlMap.put("pic",R.drawable.pic3);
picUrlMap.put("text", "测试一");
data.add(picUrlMap);
*/
SimpleAdapter adapter = new SimpleAdapter(getActivity().getApplicationContext(), data,
R.layout.recordlist_item, new String[]{"pic","text"}, new int[]{R.id.gif,R.id.text});
recordlist.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}
<?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"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="80dp" >
<com.ant.liao.GifView
android:id="@+id/gif"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:enabled="false"
android:onClick="recordClick"
android:src="@drawable/pic1" />
<!--
<ImageView
android:id="@+id/img1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo_qzone" /> -->
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_alignBottom="@+id/gif"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/gif"
android:text="测试" />
</RelativeLayout>
</LinearLayout>
package com.xyyj.sharefeelingsapp.main;
import java.util.ArrayList;
import com.ant.liao.GifView;
import com.xyyj.sharefeelingsapp.R;
import com.xyyj.sharefeelingsapp.main.util.ActivityManage;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
@SuppressLint("NewApi")
public class MainActivity extends Activity implements OnClickListener {
private View view1,view2,view3;//需要滑动的页卡
private ArrayList<View> viewList ;//页面集合
private ViewPager viewPager;//页卡容器
private ImageView imageView;// 动画图片
private int offset = 0;// 动画图片偏移量
private int currIndex = 0;// 当前页卡编号
private int bmpW;// 动画图片宽度
private GifView gf1;
private int count=0;
private ImageView image1;
@Override
public void onClick(DialogInterface dialog, int which) {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 去除标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
// 取消状态栏,充满全屏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
/**
* 添加到容器管理,统一销毁机制
*/
ActivityManage.getInstance().addActivity(this);
/**
* 初始化加载
*/
initImageView();
initViewPager();
}
public void initImageView() {
imageView= (ImageView) findViewById(R.id.cursor);
bmpW = BitmapFactory.decodeResource(getResources(), R.drawable.a).getWidth();// 获取图片宽度
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenW = dm.widthPixels;// 获取分辨率宽度
offset = (screenW / 3 - bmpW) / 2;// 计算偏移量
Matrix matrix = new Matrix();
matrix.postTranslate(offset, 0);
imageView.setImageMatrix(matrix);// 设置动画初始位置
}
public void initViewPager() {
view1 = findViewById(R.layout.recordmood);
view2 = findViewById(R.layout.sharemood);
view3 = findViewById(R.layout.countchart);
LayoutInflater lf = getLayoutInflater().from(this);
view1 = lf.inflate(R.layout.recordmood, null);
view2 = lf.inflate(R.layout.sharemood, null);
view3 = lf.inflate(R.layout.countchart, null);
viewList = new ArrayList<View>();//将要分页显示的View装入数组中
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
viewPager = (ViewPager) findViewById(R.id.viewpaper);
PagerAdapter pagerAdapter =new PagerAdapter() {
@Override
public int getCount() {
// TODO Auto-generated method stub
return viewList.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
container.removeView(viewList.get(position));
}
@Override
public int getItemPosition(Object object) {
return super.getItemPosition(object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(viewList.get(position));
/**
* 这里面可以添加当前布局文件里的按钮点击事件
*/
return viewList.get(position);
}
};
viewPager.setAdapter(pagerAdapter);
viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
}
/**
* 记录心情点击事件
* @param view
*/
public void recordClick(View view) {
MyOnClickListener(0, view);
/* count+=1;
int bmpW = BitmapFactory.decodeResource(getResources(), R.drawable.logo_qzone).getWidth();// 获取图片宽度
gf1 = (GifView)findViewById(R.id.gif1);
gf1.setGifImage(R.drawable.recordclick);
gf1.setLayoutParams(new LinearLayout.LayoutParams(bmpW, 80));
if(count>3) {
count = 1;
}
if(count==1){
image1 = (ImageView) findViewById(R.id.image1);
image1.setVisibility(View.GONE);
gf1.showAnimation();
gf1.setVisibility(View.VISIBLE);
}else if(count==2){
gf1.showCover();
}else if(count==3) {
gf1.setVisibility(View.GONE);
image1.setVisibility(View.VISIBLE);
}*/
}
/**
* 分享心情
* @param fragment
*/
public void shareClick(View view) {
MyOnClickListener(1, view);
}
/**
* 图形统计
* @param fragment
*/
public void chartClick(View view) {
MyOnClickListener(2, view);
}
/**
* 点击事件
* @param index
* @param view
*/
public void MyOnClickListener(int index, View view) {
/**
* 设置点击动画效果
*/
Animation clickAnimation = AnimationUtils.loadAnimation(this,R.anim.bn_zoom);
view.startAnimation(clickAnimation);
viewPager.setCurrentItem(index); // 设置点击后,显示选中的fragment
}
/**
* 页面改变时的监听事件。
* @author ws
*
*/
public class MyOnPageChangeListener implements OnPageChangeListener{
int one = offset * 2 + bmpW;// 页卡1 -> 页卡2 偏移量
int two = one * 2;// 页卡1 -> 页卡3 偏移量
public void onPageScrollStateChanged(int arg0) {
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
public void onPageSelected(int arg0) {
/*
Animation animation = null;
switch (arg0) {
case 0:
if (currIndex == 1) {
animation = new TranslateAnimation(one, 0, 0, 0);
} else if (currIndex == 2) {
animation = new TranslateAnimation(two, 0, 0, 0);
}
break;
case 1:
if (currIndex == 0) {
animation = new TranslateAnimation(offset, one, 0, 0);
} else if (currIndex == 2) {
animation = new TranslateAnimation(two, one, 0, 0);
}
break;
case 2:
if (currIndex == 0) {
animation = new TranslateAnimation(offset, two, 0, 0);
} else if (currIndex == 1) {
animation = new TranslateAnimation(one, two, 0, 0);
}
break;
}
*/
Animation animation = new TranslateAnimation(one*currIndex, one*arg0, 0, 0);
currIndex = arg0;
animation.setFillAfter(true);// True:图片停在动画结束位置
animation.setDuration(300);
imageView.startAnimation(animation);
Toast.makeText(MainActivity.this, "您选择了"+ viewPager.getCurrentItem()+"页卡", Toast.LENGTH_SHORT).show();
}
}
}
private class PictureAdapter extends BaseAdapter{
private LayoutInflater mInflater;
public PictureAdapter(Context context){
this.mInflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView holder;
if (convertView == null){
int lid = R.layout.map_ontap_grid;;
holder = new ImageView(MapActivity.this);
convertView = mInflater.inflate(lid, null);
holder = (ImageView) convertView.findViewById(R.id.mapgridimage);
convertView.setTag(holder);
} else{
holder = (ImageView) convertView.getTag();
}
holder.setImageBitmap(PicInfoList.get(mSet.get(mPicSet.get(index).get(position))).bitmap);
return convertView;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mPicSet.get(index).size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return PicInfoList.get(mSet.get(mPicSet.get(index).get(position))).bitmap;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
}