2010-07-22 15 views

Antwort

107

Verwenden Sie das Attribut android:background in Ihrem XML. Am einfachsten ist es, wenn Sie es auf eine ganze Aktivität anwenden wollen, indem Sie es in die Wurzel Ihres Layouts setzen. Wenn Sie also eine RelativeLayout als Beginn Ihrer xml haben, setzen Sie es hier in:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/rootRL" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/background"> 
</RelativeLayout> 
+6

Dies kann leider verursacht einige Probleme ... sicher, dass es für Ihre Haupttätigkeit arbeiten, aber wenn Sie öffnen eine neue Aktivität mit der gleichen Android: background = „@ ziehbar/Hintergrund“, sobald Sie drehen den Emulator in den meisten Fällen, und bei einigen Geräten stürzen Sie mit einem "Out of Memory .." -Fehler ab, wenn Ihr bgImg eine hohe Auflösung hat. @Sephy, wie würdest du mit diesem Problem umgehen? – whyoz

13

Sie das festlegen „Hintergrundbild“ auf eine Aktivität von android:background xml Einstellung Attribute wie folgende:

(hier Nehmen wir zum Beispiel ein Linearlayout für eine Aktivität und ein Hintergrundbild für das Layout-Einstellung (dh indirekt zu einer Aktivität))

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:id="@+id/LinearLayout01" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       android:background="@drawable/icon"> 
</LinearLayout> 
+1

Ich habe festgestellt, dass dies funktioniert für eine LinearLayout, aber für RelativeLayouts, bekomme ich OOM-Fehler. Ich habe viele decodeBitmap-Posts oder layout.invalidate() - Posts oder Bitmap.recycle-Posts usw. gelesen. Wie würden Sie ein Bild als Hintergrund der App beibehalten, die RelativeLayouts verwendet? Sollte ich ein Bild zwischenspeichern, das in mehr als einer Aktivität angezeigt wird? Was ist die beste Praxis? – whyoz

0

und vergessen Sie nicht, Ihr Projekt zu reinigen, nachdem diese Zeilen schreibe ein Sie `ll erhalten ein Fehler in Ihrer XML-Datei bis Sie Du hast dein Projekt in Eclipse gereinigt: Projekt-> Reinigen ...

2

Platziere das Bild in den Ordner, der gezeichnet werden kann. Zeichnungsordner ist in res. ziehbar haben 5 Varianten ziehbar-hdpi ziehbar-LDPI ziehbar-MDPI ziehbar-xhdpi ziehbar-xxhdpi

+0

Welchen Ordner müssen wir verwenden? @Jesvin – jdyg

1

Heute haben wir match_parent zu verwenden:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@drawable/background"> 
</RelativeLayout> 

enter image description here

1

Wir können leicht Platzieren Sie das Hintergrundbild in PercentFrameLayout mit dem ImageView. Wir müssen das scaleType-Attribut value = "fitXY" setzen und im Vordergrund können wir auch andere Ansichten wie Textansicht oder Schaltfläche anzeigen.

<android.support.percent.PercentFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     > 
     <ImageView 
      android:src="@drawable/logo" 
      android:id="@+id/im1" 
      android:scaleType="fitXY" 
      android:layout_height="match_parent" 
      android:layout_width="match_parent"/> 
<EditText android:layout_gravity="center_horizontal" 
     android:hint="Enter Username" 
     android:id="@+id/et1" 
     android:layout_height="wrap_content" 
     app:layout_widthPercent="50%" 
     app:layout_marginTopPercent="30%" 
     /> 
<Button 
    android:layout_gravity="center_horizontal" 
    android:text="Login" 
    android:id="@+id/b1" 
    android:layout_height="wrap_content" 
    app:layout_widthPercent="50%" 
    app:layout_marginTopPercent="40%"/> 
</android.support.percent.PercentFrameLayout> 
Verwandte Themen