目前,我有以下底部登录按钮。
按钮未被按下时
按钮被按下时
XML看起来像这样
<LinearLayout
android:background="?attr/welcomeBottomNavBarBackground"
android:orientation="horizontal"
android:id="@+id/sign_in_bottom_nav_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<Button
style="?android:attr/buttonBarButtonStyle"
android:id="@+id/sign_in_button"
android:layout_width="0dp"
android:width="0dp"
android:layout_weight="1.0"
android:layout_height="48dp"
android:gravity="center"
android:layout_gravity="center"
android:enabled="true"
android:textAllCaps="true"
android:text="@string/log_in" />
</LinearLayout>
当按钮被按下时,我想去掉周围的填充(或者我应该称之为边距吗?请参考我的最下方的p / s部分)。
我尝试过:
<Button
...
...
android:minHeight="0dp"
android:minWidth="0dp" />
它无法工作且没有任何效果。
我进一步尝试。
<Button
...
...
android:background="@null"
android:minHeight="0dp"
android:minWidth="0dp" />
按下按钮时不再有填充效果。然而,材料设计的按下视觉效果也将消失。
请问在按下按钮时,如何去除填充效果,同时保留材料设计的按下视觉效果?
P/S
我真的不知道我应该称其为填充还是边距。我希望实现的目标是,在我们按下底部区域时,按下的视觉效果应该覆盖整个 100% 的底部栏区域(@+id/sign_in_bottom_nav_bar
),而不是当前的 95% 底部栏区域。
style="@style/Widget.AppCompat.Button.Borderless"
,这是从AppCompat库中获取的。http://www.materialdoc.com/flat-button/ - DeeVstyle="@style/Widget.AppCompat.Button.Borderless"
。它与style="?android:attr/buttonBarButtonStyle"
没有区别(除了按钮文本颜色变为白色)。当被按下时,仍然没有完全覆盖@+id/sign_in_bottom_nav_bar
区域。 - Cheok Yan Cheng