10
votes

Android retirer fond de barre de recherche

Y a-t-il une façon de supprimer l'image de la barre d'arrière-plan dans le widget Android de la barre de recherche?

Je veux juste qu'il montre un curseur sans barrière de progression derrière elle.

Supprimer ceci

Toute aide?


0 commentaires

5 Réponses :


3
votes

4 commentaires

J'ai. Le fond introduit est réellement derrière la barre elle-même. J'ai besoin d'un moyen de supprimer la barre (et de changer l'image du curseur)


Et comment je peux être restauré à l'initiale après cela? tock


@Paul: essayez d'appeler getBackground () Tout d'abord, enregistré le résultat quelque part, puis le restaurer ultérieurement via recosserradrawable () . Malgré les noms non parallèles, gettyground () renvoie un digue .


Malheureusement, n'a pas fonctionné ... J'ai posté une question claire liée à ce problème ici: Stackoverflow.com/Questtions/14054548/... Merci.



5
votes

Eh bien j'ai résolu mon propre problème.

Pour retirer l'arrière-plan, vous devez créer un vierge digue et le régler sur ProgressDrawable: xxx

le réglage à NULL ne semble pas fonctionner.


0 commentaires

2
votes

Un moyen de faire cela serait de changer la couleur de la barre de progression vers la couleur de fond. Vous devez utiliser une mise en page personnalisée.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@android:id/background">
<shape>
    <corners android:radius="5dip" />
    <gradient
            android:startColor="#ff9d9e9d"
            android:centerColor="#ff5a5d5a"
            android:centerY="0.75"
            android:endColor="#ff747674"
            android:angle="270"
    />
</shape>
</item>


<item
android:id="@android:id/progress"
>
<clip>
    <shape>
        <corners
            android:radius="5dip" />
        <gradient
            android:startColor="#9191FE"
            android:centerColor="#9191FE"
            android:centerY="0.75"
            android:endColor="#9191FE"
            android:angle="270" />
    </shape>
</clip>
</item>


0 commentaires

38
votes

Il existe une manière plus simple qui ne nécessite pas de créer un nouveau destinataire. Il suffit de définir ce qui suit dans votre définition XML xxx

ou si vous souhaitez le faire dans votre code: xxx


4 commentaires

Meilleure solution que la solution de @guynoir ci-dessus qui nécessite une "invisible invisible" artificielle à créer


Juste une note: vous ne pouvez pas utiliser # 0000, mais utiliser @android: œuvres de couleur / transparent.


Mais cela supprime la ligne horizontale également sur le thème holo léger. Je voudrais garder ça.


@Lalitm je ne suis pas sûr de ce que vous voulez dire. L'OP veut supprimer la barre et ne conserver que l'onglet. La ligne horizontale n'est-elle pas l'équivalent de la barre de Holo Light? Je suppose que la meilleure chose à faire serait de poster une nouvelle question et d'inclure une image de ce que vous voulez faire. Ou peut-être que la réponse de Commonware ci-dessous est ce que vous voulez faire?



0
votes

Créer un fichier XML recherchebar_progress.xml code> et placer-le dans dossier dossier code> dossier.here rayures est une image, prenez une image et placez-la dans Dit-fiable Code> Dossier.

CECKBAR_PROGRESS.XML STROND> P>

    <SeekBar
             android:id="@+id/seekbar"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:background="@drawable/seekbar"
             android:progressDrawable="@drawable/seekbar_progress"/>


0 commentaires