Comment rendre le bouton non transparent?

J'ai écrit une vue personnalisée qui dessine un cercle. Ensuite, je l'ai mis sur la mise en page relative. Aussi, je place le bouton standard là-bas, de sorte qu'ils se chevauchent. Et je vois que ce bouton est transparent. Comment le rendre non transparent?

Entrez la description de l'image ici

  • Android Cliquez à travers PopupWindow
  • Google Maps v2 Marker zOrdering - Mise en place
  • Définir l'ordre Z des vues de RelativeLayout dans Android
  • La vue à l'avant ne fonctionne pas
  • Comment envoyer une vue vers l'arrière? Comment contrôler l'ordre z par programme?
  • 6 Solutions collect form web for “Comment rendre le bouton non transparent?”

    Le bouton à thème Holo standard est partiellement transparent. Vous pouvez soit créer un nouveau bouton 9.png image à utiliser dans le bouton ou créer un nouveau bouton en utilisant drawable.

    Voici un lien sur la façon de faire ce dernier:

    http://droidapp.co.uk/?p=309

    Définissez l'arrière-plan de @android:drawable/btn_default pour éliminer la transparence du thème holo

    Vous pouvez mettre le bouton dans une disposition de trame séparée afin que votre vue ne modifie pas le bouton et c'est mon idée

    Sauvegardez le code ci-dessous comme xml dans un dossier dessiné et donnez ce xml comme fond d'écran de bouton

     <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="0dp" android:color="#ffffff" /> <solid android:color="#000000"/> <corners android:radius="1px"/> <padding android:left="5dp" android:top="3dp" android:right="5dp" android:bottom="3dp" /> </shape> 

    Ex:

     android:background="@drawable/<< your file name>>" 

    J'étais avec le même problème mais avec ToggleButton. Une solution moche mais rapide était de positionner un ImageView juste derrière le bouton et de changer sa margin s, background et alpha pour correspondre au bouton. Par exemple, à l'intérieur d'un RelativeLayout:

     <ImageView android:layout_alignLeft="@+id/toggleButton" android:layout_alignBottom="@+id/toggleButton" android:layout_alignRight="@+id/toggleButton" android:layout_alignTop="@+id/toggleButton" style="@style/HackBackgroundToggleButton" /> <ToggleButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/toggleButton" ... /> 

    Et, dans le but de réduire le hack visible, le style extrait:

     <style name="HackBackgroundToggleButton"> <item name="android:layout_width">84dp</item> <item name="android:layout_height">42dp</item> <item name="android:background">#FFFFFF</item> <item name="android:layout_marginTop">4dp</item> <item name="android:layout_marginLeft">4dp</item> <item name="android:layout_marginRight">4dp</item> <item name="android:layout_marginBottom">4dp</item> <item name="android:alpha">0.75</item> </style> 

    La transparence holo est intégrée dans les fichiers PNG. Donc, le seul moyen réel de le modifier est de modifier les PNG et de les rendre non transparents. Ce n'est en fait pas facile du tout. Vous devez multiplier le canal alpha de l'image par 255/102. Ce qui n'est pas facile!

    Mais parce que je suis un tel génie, j'ai trouvé un moyen de le faire. Fondamentalement, j'ai copié tous les PNG et XML pertinents dans leur propre structure de répertoire (les boutons n'ont que des -mdpi , -hdpi et -xhdpi ). Ensuite, j'ai couru ceci:

    Pour FILE in find . -name *.png find . -name *.png ; Mogrifie -evaluate Multiply 2.5 -channel Alpha $ FILE; terminé

    Travail terminé! En fait, il ne fonctionnait pas très bien pour les boutons désactivés pour une raison quelconque – je pense que le centre est super transparent, mais je m'en soucie tellement de ceux-là. Vous devrez utiliser une valeur supérieure à 2,5 pour ces images si vous les souhaitez totalement non transparentes.

    Tout le résultat est ici .

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.