zoukankan      html  css  js  c++  java
  • Android:ImageView应用之图片浏览器

    ImageView控件实现的简单图片浏览器

    一.纯显示图片:

    引言:

        读者在做这个东西的时候,需要自己把图片在源程序中导入。

        读者要注意:所有导入的图片之前,图片的命名只可以是小写英文和数字

    效果图

     关键代码片段:

    imageView.setOnClickListener(new OnClickListener()

            {

        public void onClick(View v)

    {                 imageView.setImageResource(images[++currentImg%images.length]);

                }

            });

    其中加了黄色背景的代码循环显示图片。

    全部代码:

    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ImageView;
    
    public class MainActivity extends Activity {
        
        int[] images=new int[]{R.drawable.lrp1,
                               R.drawable.lrp2,
                               R.drawable.ls,
                               R.drawable.mr};
        int currentImg=0;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //LinearLayout main= (LinearLayout) findViewById(R.id.root);
            final ImageView imageView = (ImageView) findViewById(R.id.image);
            imageView.setImageResource(images[0]);
            imageView.setOnClickListener(new OnClickListener()
            {
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    imageView.setImageResource(images[++currentImg%images.length]);
                }
            });
            
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }
    View Code
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/root"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" 
        >
        <ImageView 
            android:id="@+id/image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#00f"
            android:layout_marginTop="10dp"/>
    </LinearLayout>
    View Code

    二.通过使用其它控件控制图片:

    关键代码:

    next.setOnClickListener(new OnClickListener()
            {
                public void onClick(View v) 
                {
                    image1.setImageResource(images[++currentImg%images.length]);
                }
                
            });
            OnClickListener listener=new OnClickListener()
            {
                @SuppressWarnings("deprecation")
                public void onClick(View v) 
                {
                    if(v == plus)
                    {
                        alpha += 20;
                        if(alpha >=255)
                        {
                            alpha=255;
                        }
                    }
                    else if(v==minus)
                    {
                        alpha -= 20;
                        if(alpha <= 0)
                        {
                            alpha = 0;
                        }
                    }
                    image1.setAlpha(alpha);        
                }
                
            };
            plus.setOnClickListener(listener);
            minus.setOnClickListener(listener);
        }

    简而言之:在监听中添加对ImageView属性的控制。

    全部代码:

    import android.os.Bundle;
    import android.annotation.SuppressLint;
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.graphics.drawable.BitmapDrawable;
    import android.view.Menu;
    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;
    import android.widget.TabHost;
    
    public class MainActivity extends Activity {
        private int[] images=new int[]{R.drawable.lrp1,
                                       R.drawable.lrp2,
                                       R.drawable.ls,
                                       R.drawable.mr};
        private int currentImg=0;
        private int alpha=255;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //得到引用
            final ImageView image1 = (ImageView) findViewById (R.id.image1);
            final Button plus = (Button) findViewById(R.id.button1);
            final Button minus = (Button) findViewById(R.id.button2);
            final Button next = (Button) findViewById(R.id.button3);
            //设置监听按钮
            next.setOnClickListener(new OnClickListener()
            {
                public void onClick(View v) 
                {
                    image1.setImageResource(images[++currentImg%images.length]);
                }
                
            });
            OnClickListener listener=new OnClickListener()
            {
                @SuppressWarnings("deprecation")
                public void onClick(View v) 
                {
                    if(v == plus)
                    {
                        alpha += 20;
                        if(alpha >=255)
                        {
                            alpha=255;
                        }
                    }
                    else if(v==minus)
                    {
                        alpha -= 20;
                        if(alpha <= 0)
                        {
                            alpha = 0;
                        }
                    }
                    image1.setAlpha(alpha);        
                }
                
            };
            plus.setOnClickListener(listener);
            minus.setOnClickListener(listener);
        }
        
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }
    View Code
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center"
            >
    
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="增大透明度"
                android:gravity="left" />
            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="降低透明度" 
                android:gravity="left"/>
            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="left"
                android:text="下一张" />
        </LinearLayout>
        
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            >
    
            <ImageView
                android:id="@+id/image1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitCenter"
                android:src="@drawable/lrp1" />
    
        </LinearLayout>
    </LinearLayout>
    View Code 
  • 相关阅读:
    比尔盖茨,乔布斯,扎克伯格,Linus 等巨佬的办公桌
    快速从 Windows 切换到 Linux 环境
    海外开发者账号上架总结
    Chrome 浏览器对标签进行整理和分组的功能太棒了!
    最受嵌入式软件工程师青睐的系统
    我最喜欢的云 IDE 有哪些?
    前端zip包下载
    el-upload上传组件(隐藏上传按钮/隐藏文件删除标记)
    滚动条样式
    使用ul标签制作简单的菜单(vue模板)
  • 原文地址:https://www.cnblogs.com/orangebook/p/3535680.html
Copyright © 2011-2022 走看看