TextView durch Background nicht sichtbar

M

Manfred

Fortgeschrittenes Mitglied
14
Hallo!

Ich setze ein Hintergrundbild mit
Code:
setBackgroundDrawable(getResources().getDrawable(R.drawable.back));
und habe auf diesem Layout auch TextViews. Diese werden aber überdeckt durch den Background. Setze ich kein Hintergrundbild, sehe ich die Views.

Kann man die irgendwie eine Ebene nach vorne setzen??

Danke!
 
Ich würde den Hintergrund breits im XML definieren, statt dynamisch zu laden. Aber selbst damit hatte ich bisher nie Probleme.
Was für ein Layout ist das denn?
Mehr Code und Details würden helfen :)
Friedger
 
Setzt du das Hintergrundbild direkt auf die TextView oder ein allgemeines Bild für das gesamte Layout?
 
Also ist recht kompliziert!

Aus einer Activity heraus, starte ich ein Intent (=ListActivity) der folgenden Code beinhaltet:

Code:
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.game); 
        
        gf = new Gamefield(this);
        gf.setBackgroundDrawable(getResources().getDrawable(R.drawable.back));
        gf.neueRunde();
        this.addContentView(gf, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
Das Gamefield ist ein View
Game layout:
Code:
<AbsoluteLayout android:id="@+id/AbsoluteLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android">

<ListView android:id="@+id/android:list" android:layout_width="wrap_content" android:layout_height="wrap_content"></ListView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/TextViewBank" android:layout_y="300px" android:layout_x="200px" android:text="Bank:"></TextView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/TextViewPunkte" android:layout_x="5px" android:layout_y="300px" android:text="Player:" android:bufferType="normal"></TextView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="100px" android:layout_y="120px" android:textSize="20px" android:id="@+id/TextViewMessage"></TextView>

</AbsoluteLayout>
Wie ihr seht, "adde" ich einen ContentView hinzu, der nicht im Layout enthalten ist, dieser hat das Hintergrundbild. In der Klasse Gamefield sieht es dann so aus:

Code:
    public Gamefield(Context context)
    {
        super(context);
        this.ctx = context;
               
        bank = (TextView) ((Activity)ctx).findViewById(R.id.TextViewBank);
        punkte = (TextView) ((Activity)ctx).findViewById(R.id.TextViewPunkte);
Ich habe jetzt auch schon versucht am Layout einen View hinzuzufügen und dann dort das bild hinaufzugeben, dass ich die TextViews dann darunter sehe, ging aber auch nicht.
 
Zuletzt bearbeitet:
addContentView wird meistens für Dialog-ähnliche Views verwendet, ist das dein Ziel für GameView.

Warum schreibst du GameView nicht einfach ins XML?
 
friedger schrieb:
addContentView wird meistens für Dialog-ähnliche Views verwendet, ist das dein Ziel für GameView.

Warum schreibst du GameView nicht einfach ins XML?


Weil ich die onDraw Methode benutzen will, wenn ich das alles ins XML schreibe, wie kann ich das dann tun?
 
Du kannst einfach statt z.B. TextView deine eigene Klasse mit qualifiziertem Namen ins XML schreiben.

Siehe zum Beispiel layout/custome_view_1 in ApiDemo

<com.example.android.apis.view.LabelView
android:background="@drawable/red"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:text="Red"/>
 

Ähnliche Themen

SaniMatthias
Antworten
19
Aufrufe
1.037
swa00
swa00
T
Antworten
1
Aufrufe
863
jogimuc
J
A
Antworten
2
Aufrufe
1.149
AndrejT
A
Zurück
Oben Unten