疯狂Android之图片浏览器

原创 2015年11月18日 12:22:52
package com.sunset.imageviewfirst;


import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.ImageView;


public class MainActivity extends Activity {


int[] images = new int[] { R.drawable.icon_two, R.drawable.fdsfdsafdsaf,
R.drawable.icon_odfde, R.drawable.icon_ofdfd };


int count = 2;
private int alpha = 255;
Button but_1, but_2, but_3;
ImageView imageView1, imageView2;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but_3 = (Button) findViewById(R.id.but_3);
but_1 = (Button) findViewById(R.id.but_1);
but_2 = (Button) findViewById(R.id.but_2);
imageView1 = (ImageView) findViewById(R.id.imageView1);
imageView2 = (ImageView) findViewById(R.id.imageView2);
but_3.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
imageView1.setImageResource(images[++count % images.length]);
}
});


View.OnClickListener listtener = new View.OnClickListener() {


@Override
public void onClick(View v) {
if (v == but_1) {
alpha += 20;
}
if (v == but_2) {
alpha -= 20;
}
if (alpha >= 255) {
alpha += 255;
}
if (alpha <= 0) {
alpha += 0;
}
imageView1.setAlpha(alpha);
}
};
but_1.setOnClickListener(listtener);
but_2.setOnClickListener(listtener);


imageView1.setOnTouchListener(new OnTouchListener() {


@Override
public boolean onTouch(View v, MotionEvent event) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) imageView1
.getDrawable();
Bitmap bitmap = bitmapDrawable.getBitmap();


double scale = 1.0 * bitmap.getHeight() / bitmap.getWidth();
int x = (int) (event.getX() * scale);
int y = (int) (event.getY() * scale);


if (x + 120 > bitmap.getWidth()) {
x = bitmap.getWidth() - 120;
}
if (y + 120 > bitmap.getHeight()) {
y = bitmap.getHeight() - 120;
}
imageView2.setImageBitmap(Bitmap.createBitmap(bitmap, x, y,
120, 120));
return false;
}
});
}

}






xml文件activity_main


<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">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >


        <Button
            android:id="@+id/but_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="+" />


        <Button
            android:id="@+id/but_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-" />


        <Button
            android:id="@+id/but_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="下一張" />
    </LinearLayout>


    <ImageView
          android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="280dp"
        android:scaleType="fitCenter"
        android:src="@drawable/icon_two" />


    <ImageView
          android:id="@+id/imageView2"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:background="#00f" />


</LinearLayout>

Android 简单图片浏览器(疯狂Android讲义第三版)

新手学习Android

我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)

正如在《我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)》一文中看到的,在AbstractBoard的代码中,当程序需要创建N个Piece对象时,程序会直...

我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)

正如在《我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)》一文中看到的,在AbstractBoard的代码中,当程序需要创建N个Piece对象时,程序会直...

IC图片浏览器(3D_Android)

  • 2012年09月07日 21:01
  • 159KB
  • 下载

android仿微信图片浏览器

  • 2016年06月27日 10:59
  • 748KB
  • 下载

Android中轴旋转特效实现,制作别样的图片浏览器

Android API Demos中有很多非常Nice的例子,这些例子的代码都写的很出色,如果大家把API Demos中的每个例子研究透了,那么恭喜你已经成为一个真正的Android高手了。这也算是给...

android 图片浏览器

  • 2014年02月18日 10:53
  • 2.46MB
  • 下载

Android自定义popupwindow实现ios中UC浏览器中长按图片弹出的PopupWindow效果

Android应用仿ISO中UC浏览器中长安图片弹出的PopupWindow的效果 MainActivity: public class MainActivity extends AppCompa...
  • Wtoria
  • Wtoria
  • 2016年06月01日 19:05
  • 1041
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:疯狂Android之图片浏览器
举报原因:
原因补充:

(最多只允许输入30个字)