在Android中以编程方式显示图像

时间:2015-11-16 13:36:35

标签: android

我试图编写这样的代码:我有一个字符串,如果字符串是" stack",我想打印s.gif,t.gif,a.gif,c .gif和k.gif。 这是我写的代码:

    String myString = "stack";
    for(int i = 0; i < myString.length(); i++)
    {
    String source= null;
if(myString .charAt(i) == 'a')
{
    source = "R.drawable.folder.a.gif";
}
 else if (myString .charAt(i) == 'b')
{
    source = "R.drawable.folder.b.gif";
}
    ...//it goes until z
            LinearLayout linearLayout= new LinearLayout(this);
            linearLayout.setOrientation(LinearLayout.VERTICAL);
            linearLayout.setLayoutParams(new AbsListView.LayoutParams(
                    AbsListView.LayoutParams.MATCH_PARENT,
                    AbsListView.LayoutParams.MATCH_PARENT));

            ImageView imageView = new ImageView(this);
            imageView.setImageResource();// I don't know what to write here
            imageView.setLayoutParams(new AbsListView.LayoutParams(
                    AbsListView.LayoutParams.MATCH_PARENT,
                    AbsListView.LayoutParams.WRAP_CONTENT));
            linearLayout.addView(imageView);
            setContentView(linearLayout);

}

我尝试做的是设置源字符串并将其提供给setImageResource(),但是我失败了。你能告诉我如何修复这段代码吗?感谢。

2 个答案:

答案 0 :(得分:2)

首先,Android具有基于int的资源指针,因此您的source变量必须是int

然后,只需像这样分配:

source = R.drawable.a

将所有图片放入 res / drawable 目录。

但是,我不确定你是否可以在没有库的情况下使用这样的gif。尝试一下,如果不起作用,请使用.pngs。

答案 1 :(得分:1)

source更改为 int 而不是字符串

int source;

然后使用此

imageView.setImageDrawable(getResources().getDrawable(source))