动态设置图像路径

时间:2010-11-10 11:08:44

标签: android

在我的项目中,有许多图像具有后向和前向图像,所有图像具有共同的布局。单击后退和下一个按钮时,应显示新图像。

private int imageCounter = 0;
private ImageView imageView;
private int[] imageArray = {R.drawable.image_w_lbl_0, R.drawable.image_w_lbl_1,};
private int index_count = 0;
@Override
public void onCreate(Bundle savedInstanceState) 
{
    setContentView(R.layout.frame0);//this one is the common parent layout for all imageviews
    super.onCreate(savedInstanceState);
    imageView = new ImageView(this);

    ImageButton next = (ImageButton) findViewById(R.id.next);
    ImageButton back = (ImageButton) findViewById(R.id.back);
    next.setOnClickListener(this);
    back.setOnClickListener(this);

    //show the default image
    this.loadImage(imageArray[0]);

}
@Override
public void onClick(View v) 
{
    int imagePath = 0;
    // TODO Auto-generated method stub
    switch (v.getId())
    {
    case R.id.next:
        if(imageCounter < 25)
        {   
            imagePath = imageArray[index_count];
        }
        imageCounter++;
        break;
    case R.id.back:
        if(imageCounter > 0)
        {
            //imagePath =
        }
        imageCounter--;

        break;      
    }
    this.loadImage(imagePath);
}

private void loadImage(int imagePath)
{
    imageView.setImageResource(imagePath);
}

我只能在输出中看到我的布局,其后退和前进按钮的背景为黑色,而不是我的可绘制文件夹中的图像。

XML布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center">

    <ImageButton android:id="@+id/back" android:src="@drawable/btn_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"/>

    <ImageButton 
        android:id="@+id/next"
        android:src="@drawable/btn_next"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right" />

</LinearLayout>

4 个答案:

答案 0 :(得分:3)

来自资源的图像数组(即res / drawable-mdpi):

Integer[] imageArray = { "R.drawable.img1", "R.drawable.img2" }

...

imageView.setImageResource(imageArray[0]); // displays img1

答案 1 :(得分:1)

不是很清楚你在问什么,但是你想做这样的事情:

的ImagePath = R.drawable.image_wo_lbl_0;

如果你真的想这样做,你可以用这种方式存储图像路径。

答案 2 :(得分:1)

imageView.setImageResource(R.drawable.img1) 

答案 3 :(得分:1)

最简单的方法 - 可以考虑以下代码

我们可以利用Imageview setImageResource,参考下面的代码相同。  将图像放入drawable中,如下面的顺序

image_1.png,image_2.png等

transitionend