2013-12-18 5 views
6

Ich möchte ein Bild als Hintergrund von Layout setzen.Android: Legen Sie Hintergrund des Layouts mit Bild Pfad

Zuerst Ich schaffe eine ziehbar: Drawable d = Drawable.createFromPath("pathToImageFile");

In API-Ebene 8layout.setBackground(d) wird nicht unterstützt UND layout.setBackgroundDrawable(d)veraltet so ich

layout.setBackgroundResource(resourceID)

wie möglich verwenden, müssen Ich erhalte ResourceID eines dynamisch generierten Drawable.Ich verwende diese Methode:

Drawable d = Drawable.createFromPath("pathToImageFile");

, um ein Zeichen zu erstellen.

Antwort

2

Hallo verwenden Sie die folgende Methode

public void setBackgroundDrawable (Drawable background) 

von

Aufruf
imageView.setBackgroundDrawable(drawable); 

Added in API-Ebene 1

EDIT: versuchen diese Methode

@SuppressWarnings("deprecation") 
    private void setRes(ImageView iv,Drawable drawable){ 
     if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) 
      iv.setBackground(drawable); 
     else 
      iv.setBackgroundDrawable(drawable); 
    } 
+0

Diese Methode ist veraltet, kann ich sie verwenden ?? In der Eclipse zeigt es mit einem Schlag im Code. – ZZeyaNN

+0

diese Methode ist in API-Ebene 16 bis API-Ebene 15 beraubt es funktioniert GRT –

+0

Aber für höhere Versionen wird meine Anwendung nicht funktionieren. – ZZeyaNN

0

Für API 1-15 Verwendung

view.setBackgroundDrawable(drawable); 

Für API 16 & oben Verwendung

viw.setBackground(drawable); 
0

Wie in der POST von @hasanghaforian erklärt,

Sie können die Ressourcen-ID mit dem "erhalten getIdentifier "mit dem folgenden Code:

int resID = getResources().getIdentifier("org.anddev.android.testproject:drawable/bug", null, null); 

OR

int resID = getResources().getIdentifier("bug", "drawable", "org.anddev.android.testproject");  

wo

bug.png ist die Datei in "/res/drawable/".

Dann können Sie layout.setBackgroundResource(resID) verwenden.

+0

Da wir dynamisch ** zeichnend erstellen ** wissen wir nicht, es ist der Name, der in diesem Fall "Bug" ist. – ZZeyaNN