如何使通用图像加载器加载图像按钮?

时间:2014-08-09 11:21:16

标签: java android eclipse

我很抱歉这个愚蠢的问题,但我还是个初学者 我正在使用通用图片加载器:https://github.com/nostra13/Android-Universal-Image-Loader (Android,Eclipse)

并且我不知道如何加载我的图像按钮(每个布局近30个图像按钮),我不想更改图像中的任何内容我只是希望它显示它,因为它是在xml文件中。

所以,如果你能告诉我我应该键入哪些代码,那就太棒了,谢谢

例如,如果我在我的java文件中设置了这个ImageButton:

ImageButton staff = (ImageButton) findViewById(R.id.staff);

我的java文件名为MainActivity,这个图像保存在我的drawable文件夹中。我应该怎么做。

我的代码的一部分:

public class MainActivity extends Activity implements OnClickListener {

SoundPool sp;
int soundId;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_main);

    sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
    soundId = sp.load(kh2hd.this, R.raw.btnclick, 1);

    Picasso.with(this).load(R.drawable.staff).into(staff);
    ImageButton staff = (ImageButton) findViewById(R.id.staffbtn);

    staff.setOnClickListener(this);

}
@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()){
    case R.id.staffbtn:
        sp.play(soundId, 1, 1, 0, 0, 1);
        startActivity(new Intent("android.intent.action.INFO"));
        break;

2 个答案:

答案 0 :(得分:1)

here

下载毕加索图书馆

将其添加到您的构建路径中。将此库导入您的代码文件。

从网址加载:

String url = "http://example.com"

Picasso.with(getApplicationContext()).load(url).into(imageView);

从drawable加载:

Picasso.with(getApplicationContext()).load(R.drawable.imageFile).into(imageView);

此处,imageView是您用来表示ImageView的变量的名称。例如

ImageView imageView = (ImageView) findViewById(R.id.ImageView1);

如果您使用的是ImageButton,请将imageView变量更改为imageButton变量

ImageButton imageButton = (ImageButton)findViewById(R.id.imageButton);

注意我传递的是变量名。

答案 1 :(得分:0)

@ user3896367我认为下面的代码是完全适合你的。如果您使用此代码从web url的drawable上传图像。

  1. 下载通用图片加载器jar。
  2. 将jar放入lib文件夹并添加jar。
  3. 创建应用程序类。

    public static void initImageLoader(Context context){

    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
            context)
            .threadPriority(Thread.NORM_PRIORITY - 2)
            .denyCacheImageMultipleSizesInMemory()
            .discCacheFileNameGenerator(
                    new Md5FileNameGenerator())
            .tasksProcessingOrder(QueueProcessingType.LIFO)
            .build();
    ImageLoader.getInstance().init(config);
    

    }

  4. 4.user imageloader,如下面的syntext。

      imageLoader = ImageLoader.getInstance();
    options = new DisplayImageOptions.Builder()
                .showImageOnLoading(
                        R.drawable.wallpaper_placeholder)
                .showImageForEmptyUri(
                        R.drawable.wallpaper_placeholder)
                .showImageOnFail(R.drawable.wallpaper_placeholder)
                .displayer(new FadeInBitmapDisplayer(500))
                .cacheInMemory(true).cacheOnDisk(true)
                .considerExifParams(true)
                .bitmapConfig(Bitmap.Config.RGB_565).build();.
    
    
    
    
    
    imageLoader.displayImage(
                URL or ResourceID,
                imageButton, options);
    

    试试这个。