4.7专业相框的设计ImageView的堆栈使用

4.7专业相框的设计---ImageView的堆栈使用

目录

4.7专业相框的设计---ImageView的堆栈使用... 1

目标:1

方法:1

获取图片资源的方法:1

代码:1

只使用一个ImageView.1

使用两个Imageview堆叠.3

改进代码:6

效果:7

 

目标:单击按钮更换图片,并且中间的ImageView固定不变.

方法:

获取图片资源的方法:getResources().getDrawable(R.drawable.xx)

代码:

只使用一个ImageView.

package edu.cquptzx.ImageView;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

 

publicclass ImageViewActivity extends Activity

{

    private ImageView iv1;

    private Button btn1,btn2;

    /** Called when the activity is first created. */

    @Override

    publicvoid onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

      

        System.out.println("A");

        iv1 = (ImageView)findViewById(R.id.myImageView1);

       // iv2 = (ImageView)findViewById(R.id.myImageView2);   

        btn1 = (Button) findViewById(R.id.myButton1);

        btn2 = (Button) findViewById(R.id.myButton2);

       

        System.out.println("B");

        iv1.setImageDrawable(getResources().getDrawable(R.drawable.right));

       // iv2.setImageDrawable(getResources().getDrawable(R.drawable.oa));

       

        System.out.println("C");

       

        btn1.setOnClickListener(new Button.OnClickListener()

        {

           publicvoid onClick(View v)

           {

              System.out.println("D");

              iv1.setImageDrawable(getResources().getDrawable(R.drawable.right));

              System.out.println("E");

           }       

        });

        btn2.setOnClickListener(new Button.OnClickListener()

        {

           publicvoid onClick(View v)

           {

              System.out.println("F");

              iv1.setImageDrawable(getResources().getDrawable(R.drawable.left));

              System.out.println("G");

           }       

        });

       

       

    }

}

==================================

<?xml version="1.0" encoding="utf-8"?>

<AbsoluteLayout

  android:id="@+id/widget34"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  xmlns:android="http://schemas.android.com/apk/res/android"

  >

  <!--建立第一個ImageView -->

  <ImageView

  android:id="@+id/myImageView1"

  android:layout_width="320px"

  android:layout_height="280px"

  android:layout_x="0px"

  android:layout_y="36px"

  />

 

  <!--建立第一個Button -->

  <Button

  android:id="@+id/myButton1"

  android:layout_width="105px"

  android:layout_height="66px"

  android:text="pic1"

  android:layout_x="9px"

  android:layout_y="356px"

  />

  <!--建立第二個Button -->

  <Button

  android:id="@+id/myButton2"

  android:layout_width="105px"

  android:layout_height="66px"

  android:text="pic2"

  android:layout_x="179px"

  android:layout_y="356px"

  />

</AbsoluteLayout>

 

 

 

使用两个Imageview堆叠.

package edu.cquptzx.ImageView;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

 

publicclass ImageViewActivity extends Activity

{

    private ImageView iv1,iv2;

    private Button btn1,btn2;

    /** Called when the activity is first created. */

    @Override

    publicvoid onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

      

        System.out.println("A");

        iv1 = (ImageView)findViewById(R.id.myImageView1);

        iv2 = (ImageView)findViewById(R.id.myImageView2);   

        btn1 = (Button) findViewById(R.id.myButton1);

        btn2 = (Button) findViewById(R.id.myButton2);

       

        System.out.println("B");

        iv1.setImageDrawable(getResources().getDrawable(R.drawable.right));

        iv2.setImageDrawable(getResources().getDrawable(R.drawable.oa));

       

        System.out.println("C");

       

        btn1.setOnClickListener(new Button.OnClickListener()

        {

           publicvoid onClick(View v)

           {

              System.out.println("D");

              iv1.setImageDrawable(getResources().getDrawable(R.drawable.right));

              System.out.println("E");

           }       

        });

        btn2.setOnClickListener(new Button.OnClickListener()

        {

           publicvoid onClick(View v)

           {

              System.out.println("F");

              iv1.setImageDrawable(getResources().getDrawable(R.drawable.left));

              System.out.println("G");

           }       

        });

       

       

    }

}

 

==============================

<?xml version="1.0" encoding="utf-8"?>

<AbsoluteLayout

  android:id="@+id/widget34"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  xmlns:android="http://schemas.android.com/apk/res/android"

  >

  <!--建立第一個ImageView -->

  <ImageView

  android:id="@+id/myImageView1"

  android:layout_width="320px"

  android:layout_height="280px"

  android:layout_x="0px"

  android:layout_y="36px"

  />

  <!--建立第二個ImageView -->

  <ImageView

  android:id="@+id/myImageView2"

  android:layout_width="104px"

  android:layout_height="157px"

  android:layout_x="101px"

  android:layout_y="119px"

  />

  <!--建立第一個Button -->

  <Button

  android:id="@+id/myButton1"

  android:layout_width="105px"

  android:layout_height="66px"

  android:text="pic1"

  android:layout_x="9px"

  android:layout_y="356px"

  />

  <!--建立第二個Button -->

  <Button

  android:id="@+id/myButton2"

  android:layout_width="105px"

  android:layout_height="66px"

  android:text="pic2"

  android:layout_x="179px"

  android:layout_y="356px"

  />

</AbsoluteLayout>

改进代码:

package edu.cquptzx.ImageView;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

 

publicclass ImageViewActivity extends Activity

{

    private ImageView iv1,iv2;

    private Button btn1,btn2;

    privateintID;

    /** Called when the activity is first created. */

    @Override

    publicvoid onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

      

        //找到对象;

        iv1 = (ImageView)findViewById(R.id.myImageView1);

        iv2 = (ImageView)findViewById(R.id.myImageView2);   

        btn1 = (Button) findViewById(R.id.myButton1);

        btn2 = (Button) findViewById(R.id.myButton2);

       

        //初始化ImageView

        iv1.setImageDrawable(getResources().getDrawable(R.drawable.right));

        iv2.setImageDrawable(getResources().getDrawable(R.drawable.oa));

 

        //对按钮添加监听器

        btn1.setOnClickListener(btnOnClickListener);

        btn2.setOnClickListener(btnOnClickListener);   

    }

    private Button.OnClickListener btnOnClickListener = new Button.OnClickListener()

    {

       @Override

       publicvoid onClick(View v) {

           // TODO Auto-generated method stub

           ID =  v.getId();

           switch(ID)

           {

              case R.id.myButton1:

                  iv1.setImageDrawable(getResources().getDrawable(R.drawable.right));

                  break;

              case R.id.myButton2:

                  iv1.setImageDrawable(getResources().getDrawable(R.drawable.left));

                  break;

              default:

                  break;

           }

       }  

    };

}

效果:

 

 效果_使用2个ImageView堆叠 效果_使用1个Imageview

For more details , contacts me by :

cquptzx@qq.com or  cquptzx@outlook.com

 

原文地址:https://www.cnblogs.com/xilifeng/p/2657714.html