如何删除button阴影(android)
我想删除button的阴影,使其看起来更平坦。
我现在有这个:
但是我想要这个:
另一个select是添加
style="?android:attr/borderlessButtonStyle"
到你的buttonXML文件在这里http://developer.android.com/guide/topics/ui/controls/button.html
一个例子是
<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" />
一个简单的方法就是将这个标签添加到你的button:
android:stateListAnimator="@null"
虽然它需要API等级21或更多..
我使用自定义样式
<style name="MyButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless"></style>
尝试: android:stateListAnimator="@null"
Java的
setStateListAnimator(null);
XML
android:stateListAnimator="@null"
使用这个作为你的button的背景可能会有所帮助,根据需要改变颜色
<?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>
@ Alt-Cat的答案为我工作!
R.attr.borderlessButtonStyle不包含阴影。
而button的文件是伟大的。
另外,你可以在你的自定义button上,在第二个构造函数中设置这个样式。
public CustomButton(Context context, AttributeSet attrs) { this(context, attrs, R.attr.borderlessButtonStyle); }
您可以使用TextView并在java代码中添加一个单击监听器,而不是button。
即
在活动布局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" />
在活动java文件中:
TextView btnTextView = (TextView) findViewById(R.id.btn_text_view); btnTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // handler code } });
你的活动中的android:theme =“@ android:style / Theme.NoTitleBar”也可以帮助你