button action - Comment enlever l'ombre du bouton(android)




bar barre (9)

Je veux enlever l'ombre du bouton pour le rendre plus plat.

J'ai ceci en ce moment:

Mais je veux ceci:


Answers

essayez: android:stateListAnimator="@null"


Une autre alternative est d'ajouter

style="?android:attr/borderlessButtonStyle"

à votre Button xml comme documenté ici http://developer.android.com/guide/topics/ui/controls/button.html

Un exemple serait

<Button
android:id="@+id/button_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage"
style="?android:attr/borderlessButtonStyle" />

Une façon plus simple de faire est d'ajouter cette balise à votre bouton:

android:stateListAnimator="@null"

bien qu'il nécessite un niveau d'API 21 ou plus.


le @ Alt-Cat répondre travail pour moi!

R.attr.borderlessButtonStyle ne contient pas d'ombre.

et le document du bouton est génial.

En outre, vous pouvez définir ce style sur votre bouton personnalisé, dans le second constructeur.

    public CustomButton(Context context, AttributeSet attrs) {
        this(context, attrs, R.attr.borderlessButtonStyle);
    }

Java

setStateListAnimator(null);

XML

android:stateListAnimator="@null"

Au lieu d'un bouton, vous pouvez utiliser un TextView et ajouter un écouteur de clic dans le code Java.

C'est à dire

dans la mise en page d'activité xml:

<TextView
    android:id="@+id/btn_text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimaryDark"
    android:text="@string/btn_text"
    android:gravity="center"
    android:textColor="@color/colorAccent"
    android:fontFamily="sans-serif-medium"
    android:textAllCaps="true" />

dans le fichier java d'activité:

TextView btnTextView = (TextView) findViewById(R.id.btn_text_view);
btnTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // handler code
            }
        });

J'utilise un style personnalisé

<style name="MyButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless"></style>

L'utiliser comme arrière-plan pour votre bouton pourrait vous aider, changer la couleur selon vos besoins

<?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">
            <solid android:color="@color/app_theme_light" />
            <padding
                android:left="8dp"
                android:top="4dp"
                android:right="8dp"
                android:bottom="4dp" />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/app_theme_dark" />
            <padding
                android:left="8dp"
                android:top="4dp"
                android:right="8dp"
                android:bottom="4dp" />
        </shape>
    </item>
</selector>

DisplayMetrics dimension = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dimension);
int w = dimension.widthPixels;
int h = dimension.heightPixels;




android button shadow