4.7专业相框的设计---ImageView的堆栈使用
4.7专业相框的设计---ImageView的堆栈使用
目录
目标:单击按钮更换图片,并且中间的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;
}
}
};
}
效果:
For more details , contacts me by :
cquptzx@qq.com or cquptzx@outlook.com