Получить растровое изображение из оценки, а затем загрузить его в фоновом режиме - PullRequest
4 голосов
/ 21 февраля 2011

Привет Всем, у меня здесь была большая помощь в прошлом, и мне было интересно, можете ли вы, ребята, чем-нибудь помочь мне.

Я хотел бы загрузить растровое изображение из ресурсов, а затем добавить его на фоне представления изображения с линейным макетом, которое я создал в коде. Я знаю, как сделать это с помощью файла макета XML, но в этом случае мне нужно сделать это в коде. У меня есть это до сих пор, и это работает с макетом .xml, но когда я пытаюсь создать линейный макет и ImageView в коде, изображение не отображается. Есть ли что-то, что я пропускаю или делаю неправильно? вот код, который я получил

ImageView backgroundPainting = new ImageView(this);
    backgroundPainting.setAdjustViewBounds(true);


    LinearLayout rel = new LinearLayout(this);
//    RelativeLayout backgroundPaintingRL = (RelativeLayout) findViewById(R.id.RelativeLayout01);
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.FILL_PARENT,
            LinearLayout.LayoutParams.FILL_PARENT);
    //lp.addRule(RelativeLayout.BELOW, R.id.ButtonRecalculate);
    //lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    rel.addView(backgroundPainting, lp);


    // backgroundPainting = (ImageView) findViewById(R.id.backgroundPainting2);
     getArtist = levelSelect.getArtistNameSelected();
     getLevel = level.getLevelSelected() ;

     String imagePath = "artists-images/"+getArtist + getLevel+".jpg";
     try { // Get reference to AssetManager
         AssetManager mngr = getAssets();
         // Create an input stream to read from the asset folder
            InputStream ins = mngr.open(imagePath);

            // Convert the input stream into a bitmap
            levelBitmap = BitmapFactory.decodeStream(ins);
            backgroundPainting.setImageBitmap(levelBitmap);
      } catch (final IOException e) {
            e.printStackTrace();
            Toast.makeText(levelView.this, "couldn't set image to background", Toast.LENGTH_LONG).show();
      }

Пожалуйста, помогите thnx,

Pengume

Ответы [ 3 ]

0 голосов
/ 27 марта 2012

Вы должны добавить это представление rel к его родительскому представлению, представление создается, но не добавляется

0 голосов
/ 26 апреля 2012

Просто используйте setContentView(rel); после создания вашего LinearLayout

0 голосов
/ 21 февраля 2011

Вы должны сначала создать один линейный макет в вашем XML-файле.А затем получите доступ к этому макету в вашем коде.

LinearLayout linearMain = (LinearLayout) findViewById(R.id.linearmainLayout);

Затем попробуйте нижеприведенную вещь, добавив две последние строки после установки растрового изображения в backgroundPainting

rel.addView(backgroundPainting, lp);

linearMain.addView(rel);

или вы можете попробоватьтаким образом

setContentView(rel); 

и напишите одну строку после последней после установки растрового изображения в backgroundPainting

rel.addView(backgroundPainting, lp); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...