ImageButton 高度问题

3
下午好,我正在尝试创建带有阴影的ImageButton。
为了实现这个目标:
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:padding="5sp">

    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/circle_shape_little"
        android:src="@drawable/ic_keyboard_arrow_right_black_24dp"
        android:elevation="3sp"/>
</LinearLayout>

但这是结果: enter image description here 您可以看到,边框被“切割”,我不知道为什么。
是否有人能帮我?谢谢。

尝试将所有的“sp”更改为“dp”。 - Enzokie
没用,无论如何还是谢谢! - D. Math
@D.Math 请尝试添加这行代码 android:outlineProvider="bounds" - Jay Rathod
可能是由于您的src太大而超出了可用空间,您应该尝试使用scaleType => fitCenter之类的东西。 - Illuyankas
没有,不起作用。 - D. Math
1个回答

5
在你的ImageButton中添加layout_marginelevation阴影将被裁剪到View的边距上(默认为零):
<ImageButton
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:layout_margin="5dp"
    android:background="@drawable/circle_shape_little"
    android:src="@drawable/ic_keyboard_arrow_right_black_24dp"
    android:elevation="3dp"/>

或者,您可以设置视图的 padding 并设置 clipToPadding =“false”,但这可能会导致意外的结果,具体取决于您的布局。

最后,您应该对除textSize之外的所有内容使用dp,而对于textSize,则应使用sp


1
那就是解决方案。谢谢! - D. Math

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接