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
没有合适的资源?快使用搜索试试~ 我知道了~
小程序 动漫阅读器源码.rar
共187个文件
class:67个
png:62个
xml:29个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 30 浏览量
2023-02-03
11:43:39
上传
评论
收藏 8.03MB RAR 举报
温馨提示
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。
资源推荐
资源详情
资源评论
收起资源包目录
小程序 动漫阅读器源码.rar (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$1.class 3KB
MainActivity$GetMoreSetup$2.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$5.class 1005B
MainActivity$GetMoreSetup$7.class 1005B
MainActivity$GetMoreSetup$3.class 1003B
MainActivity$8$1.class 929B
MainActivity$9.class 914B
MainActivity$7$2.class 905B
MainActivity$8$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
资源评论
大富大贵7
- 粉丝: 322
- 资源: 8868
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Installing Anaconda and PyCharm - Marco Sammon
- git使用文档(一步一步教你使用Git仓库管理代码)
- 进制转换(通用版).cpp
- linux实践之从DistroWatch排名第三的EndeavourOS转到排名第五的Manjaro工作机迁移
- Discuz模板+资讯博客课程干货+商业版(GBK+UTF)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本123.0.6292.0)
- RB308A-SOT23-5 单节锂电池保护IC 深圳市可芯电子有限公司.pdf
- Ubuntu下安装JDK
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本123.0.6291.0)
- Android基础之用Eclipse建立工程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功