2016-04-19 25 views
0

Ich habe ein Layout mit einem Textview wie folgt aus:Textview Hintergrundfarbe mit übergeordneten Element Hintergrundfarbe gemischt

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/contentColorBackground" 
    android:backgroundTint="@color/contentColorBackground" 
    android:orientation="vertical" > 

     <TextView 
      android:id="@+id/Anecdote_text" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="5dp" 
      android:padding="10dp" 
      android:gravity="center" 
      android:text="Click Me" 
      android:textAppearance="@android:style/TextAppearance.Medium" 
      android:layout_centerVertical="true" 
      android:layout_centerHorizontal="true" 
      android:background="@drawable/categories_button" 
      xmlns:android="http://schemas.android.com/apk/res/android" /> 

Es nutzt die ziehbar als Hintergrund:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" > 
     <shape android:shape="rectangle" > 
      <corners android:radius="3dip" /> 
      <stroke android:width="1dip" android:color="@color/anecdoteBorderLine" /> 
      <gradient android:angle="-90" android:startColor="@color/anecdoteStartTopColor" android:endColor="@color/anecdoteEndBottomColor" /> 
     </shape> 
    </item> 
    <item android:state_focused="true"> 
     <shape android:shape="rectangle" > 
      <corners android:radius="3dip" /> 
      <stroke android:width="1dip" android:color="#f22121" /> 
      <solid android:color="#b5ffaf10"/> 
     </shape> 
    </item> 
    <item > 
     <shape android:shape="rectangle" > 
      <corners android:radius="3dip" /> 
      <stroke android:width="1dip" android:color="@color/anecdoteBorderLine" /> 
      <gradient android:angle="-90" android:startColor="@color/anecdoteStartTopColor" android:endColor="@color/anecdoteEndBottomColor" /> 
     </shape> 
    </item> 
</selector> 

Alles scheint in Ordnung, aber es ist ein großes Problem, die Hintergrundfarbe von Linear Layout erscheint gemischt mit der Farbe von TextView. Das ist nicht das, was ich will, ich möchte, dass das TextView nur die Farbe des Zeichens hat, wie es Hintergrund ist. Was ist der richtige Weg für mich, das zu tun?

Danke für die Hilfe!

+0

setzen Sie die Hintergrundfarbe des linearen Layouts auf transparent. –

+0

Ich denke, Sie haben ein Problem mit der Transparenz in Ihrem TextView. Die ersten beiden Zeichen nach dem Hash-Tag definieren die Transparenz. Sie müssen die mit 8 Zahlen definierten Farben ändern .... – Opiatefuchs

Antwort

1

Es scheint, als ob Sie die Farbe mit einer leichten Transparenz deklarieren.

<item android:state_focused="true"> 
    <shape android:shape="rectangle" > 
     <corners android:radius="3dip" /> 
      <stroke android:width="1dip" android:color="#f22121" /> 
      <solid android:color="#b5ffaf10"/> 
    </shape> 
</item> 

, wenn Sie diese Zeile

ändern
<solid android:color="#ffffaf10"/> 

Sie eine Farbe als Hintergrund haben sollte.

+0

Sie könnten auch die ersten beiden "ff" lassen, die es haben wird der gleiche Effekt wie eine Volltonfarbe –

+0

Das war das Problem! ich wollte weiche Farben haben und dafür Transparenz verwenden ... Es ist jetzt gelöst! – Nmaster88

0

in Ihrem ziehbar in dieser Zeile (Zeile 14 in dem angegebenen Code):

<solid android:color="#b5ffaf10"/> 

versuchen, die beiden letzten Zahlen zu entfernen. Normalerweise gibt es nur 6 Zahlen nach dem # für RGB - rot, grün, blau. Wenn Sie zum Beispiel "# FF0000" setzen, ist es 100% rot oder "# 00FF00" ist es 100% grün. die anderen beiden Zahlen, in Ihrem Fall ist 10, definiert die Transparenz der ausgewählten Farbe.

+0

erste zwei Zahlen definieren Transparenz –

+0

Es ist in ARGB-Format –

+0

dann entfernen Sie die b5 anstelle der 10 –

Verwandte Themen