package cn.com.mythos.android;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import cn.com.mythos.android.Contents.Contents;
import cn.com.mythos.android.Contents.Utils;
import cn.com.mythos.touhoucartoonreader.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.gesture.GestureOverlayView;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.InflateException;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends BaseActivity implements OnTouchListener,
OnGestureListener {
private RelativeLayout layout1;
private RelativeLayout layout2;
private RelativeLayout layout3;
private RelativeLayout layout4;
private Bitmap bmap = null;
private ImageButton openSDcard;
private ImageButton page;
private ImageButton bookmark;
private ImageButton logout;
private ImageButton setup;
private ImageButton zoomSmall;
private ImageButton zoomBig;
private int disWidth;
private int disHeight;
private LinkedList<String> imageList;
private Map<String, String> imagePosition;
private String[] imageArray;
private int imageIndex;
private String index;
private GestureDetector gestureScanner;
private int picIndex;
private Handler handler = new Handler();
private Handler handler2 = new Handler();
private TextView imageName;
private TextView pagePosition;
private ImageView imageView;
private ImageButton lastPage;
private ImageButton nextPage;
private final float FLING_MIN_DISTANCE = 250;
private final float FLING_MIN_VELOCITY = 400;
private EditText BookmarkName;
private String bookMarks;
private static boolean isStop3 = false;
private static boolean isStop5 = false;
private static boolean isShow = false;
private RelativeLayout relativeLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
layout1 = (RelativeLayout) findViewById(R.id.layout1);
layout2 = (RelativeLayout) findViewById(R.id.layout2);
layout3 = (RelativeLayout) findViewById(R.id.layout3);
layout4 = (RelativeLayout) findViewById(R.id.layout4);
openSDcard = (ImageButton) findViewById(R.id.openSDcard);
openSDcard.setOnClickListener(openSDcardButton);
page = (ImageButton) findViewById(R.id.page);
page.setOnClickListener(pageButton);
bookmark = (ImageButton) findViewById(R.id.bookmark);
bookmark.setOnClickListener(bookmarkButton);
setup = (ImageButton) findViewById(R.id.setup);
setup.setOnClickListener(setupButton);
logout = (ImageButton) findViewById(R.id.logout);
logout.setOnClickListener(logoutButton);
zoomSmall = (ImageButton) findViewById(R.id.zoomSmall);
zoomSmall.setOnClickListener(zoomSmallButton);
zoomBig = (ImageButton) findViewById(R.id.zoomBig);
zoomBig.setOnClickListener(zoomBigButton);
pagePosition = (TextView) findViewById(R.id.pagePosition);
imageName = (TextView) findViewById(R.id.imageName);
imageView = (ImageView) findViewById(R.id.imageView);
relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout_main);
getDisplayMetrics();
if (loadImages() != null && loadImages().size() > 0) {
imageList = loadImages();
imageArray = imageList.toArray(new String[imageList.size()]);
} else {
layout2.setVisibility(View.VISIBLE);
layout4.setVisibility(View.VISIBLE);
showMsg(R.string.noPic);
}
relativeLayout.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
});
doGestureEvent();
initLoadImages();
lastPage = (ImageButton) findViewById(R.id.lastPage);
lastPage.setOnClickListener(lastPageButton);
nextPage = (ImageButton) findViewById(R.id.nextPage);
nextPage.setOnClickListener(nextPageButton);
}
//重写onPause的方法,保存当前阅读的漫画信息
@Override
protected void onPause() {
super.onPause();
try{
String picPath = Utils.getImagePath(imagePosition, imageList);
if(picPath != null) {
Utils.saveFile(Contents.SHOWHISTORY, picPath, false);
}
}catch (Exception e) {
}
}
//缩小按钮的监听
public View.OnClickListener zoomSmallButton = new View.OnClickListener() {
public void onClick(View v) {
if(imageList != null) {
String picPath = Utils.getImagePath(imagePosition, imageList);
Bitmap bitmap = Utils.imageZoomSmall(picPath, disWidth, disHeight);
if(bitmap != null) {
Utils.ScaleAngle = 0;
setImageView(bitmap);
bitmap = null;
}
}
}
};
//放大按钮的监听
public View.OnClickListener zoomBigButton = new View.OnClickListener() {
public void onClick(View v) {
if(imageList != null) {
String picPath = Utils.getImagePath(imagePosition, imageList);
Bitmap bitmap = Utils.imageZoomBig(picPath, disWidth, disHeight);
if(bitmap != null) {
Utils.ScaleAngle = 0;
setImageView(bitmap);
bitmap = null;
}
}
}
};
//setImageView方法的重载,用于显示bitmap
public void setImageView(Bitmap bitmap) {
imageView.setImageBitmap(bitmap);
}
//重写了触屏响应事件
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
// 获取手机分辨率,根据大小设置高和宽
public void getDisplayMetrics() {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
disWidth = dm.widthPixels;
disHeight = dm.heightPixels;
}
// 加载指定文件夹下的所有图片
public LinkedList<String> loadImages() {
LinkedList<String> list = new LinkedList<String>();
String filePath = getPicPath();
if (filePath != null && !"".equals(filePath)) {
File picFile = new File(filePath);
if (!picFile.exists()) {
return list;
} else {
File[] files = Utils.getPicOrder(picFile.getParent());
if (files != null && files.length > 0) {
for (File file : files) {
if (Utils.getFileExt(file.getPath())) {
list.add(file.getAbsolutePath());
}
}
}
}
}
return list;
}
// 设置手势事件
public void doGestureEvent() {
gestureScanner = new GestureDetector(this);
gestureScanner
.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener() {
public boolean onSingleTapConfirmed(MotionEvent e) {
if (imageList != null && imageList.size() > 0) {
// 5秒后自动隐藏,后面实现
if(!isShow) {
layout2.setVisibility(View.VISIBLE);
layout3.setVisibility(View.VISIBLE);
layout4.setVisibility(View.VISIBLE);
isShow = true;
handler = new Handler();
handler.removeCallbacks(hideMenu1);
handler.postDelayed(hideMenu1, 5000);
}
}
return false;
}
// 隐藏菜单,第六阶段实现
private Runnable hideMenu1 = new Runnable() {
public void run() {
layout2.setVisibility(View.GONE);
layout3.setVisibility
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Android 动漫阅读器源码-IT计算机-毕业设计.zip (187个子文件)
resources.ap_ 1.36MB
resources.ap_ 1.29MB
CartoonReader.apk 1.39MB
CartoonReader.apk 1.32MB
jarlist.cache 119B
proguard.cfg 1KB
MainActivity.class 14KB
Utils.class 10KB
BookMarkActivity.class 7KB
SDcardHistoryActivity.class 7KB
SDcardActivity.class 7KB
MainActivity$GetMoreSetup.class 5KB
BookMarkActivity$ImageAdapter.class 4KB
BaseActivity.class 3KB
BookMarkActivity$4.class 3KB
R$string.class 3KB
MainActivity$7$1.class 3KB
MainActivity$GetMoreSetup$2.class 3KB
MainActivity$GetMoreSetup$1.class 3KB
MainActivity$4$1.class 2KB
TabMainActivity.class 2KB
MainActivity$11.class 2KB
MainActivity$7.class 2KB
MainActivity$GetMoreSetup$4.class 2KB
MainActivity$GetMoreSetup$8.class 2KB
MainActivity$4.class 2KB
MainActivity$GetMoreSetup$6.class 2KB
SDcardHistoryActivity$3.class 2KB
LoadingActivity.class 2KB
SDcardActivity$3.class 2KB
MainActivity$3.class 2KB
R$id.class 2KB
LoadingActivity$1.class 2KB
SDcardHistoryActivity$1.class 2KB
MainActivity$8.class 2KB
BookMarkActivity$2.class 2KB
SDcardActivity$1.class 2KB
SDcardHistoryActivity$2.class 1KB
MainActivity$1.class 1KB
MainActivity$2.class 1KB
SDcardActivity$2.class 1KB
BookMarkActivity$1.class 1KB
MainActivity$11$1.class 1KB
R$raw.class 1KB
BookMarkActivity$4$1.class 1KB
BookMark.class 1KB
SDcardHistoryActivity$4.class 1KB
InitActivity.class 1KB
SDcardActivity$4.class 1KB
InitActivity$1.class 1KB
Contents.class 1014B
MainActivity$GetMoreSetup$7.class 1005B
MainActivity$GetMoreSetup$5.class 1005B
MainActivity$GetMoreSetup$3.class 1003B
MainActivity$8$1.class 929B
MainActivity$9.class 914B
MainActivity$8$2.class 905B
MainActivity$7$2.class 905B
MainActivity$4$2.class 905B
BookMarkActivity$4$2.class 904B
R$layout.class 899B
BookMarkActivity$3.class 899B
MainActivity$10.class 860B
BaseActivity$1.class 859B
R.class 821B
MainActivity$6.class 820B
MainActivity$5.class 819B
BaseActivity$2.class 793B
R$drawable.class 655B
R$color.class 640B
R$style.class 448B
R$attr.class 385B
BuildConfig.class 375B
.classpath 484B
classes.dex 61KB
classes.dex 60KB
MainActivity.java 26KB
Utils.java 10KB
R.java 10KB
BookMarkActivity.java 8KB
SDcardHistoryActivity.java 7KB
SDcardActivity.java 6KB
BaseActivity.java 2KB
LoadingActivity.java 2KB
TabMainActivity.java 2KB
InitActivity.java 890B
BookMark.java 746B
Contents.java 674B
BuildConfig.java 175B
choose.jpg 846B
doc.jpg 715B
menu_switchscreen.jpg 634B
loading_bg.png 508KB
loading_bg.png 507KB
loading_land.png 493KB
loading_land.png 491KB
test_01.png 212KB
test_01.png 211KB
1_121021103121_1.png 71KB
icon.png 33KB
共 187 条
- 1
- 2
资源评论
芝麻粒儿
- 粉丝: 6w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功