【发布时间】:2018-04-11 07:37:55
【问题描述】:
我正在开发一个 android 应用程序并想添加一个带有图标的button(小部件?)。
据我了解,它的外观应在xml 资源中进行描述。
我可以在java 代码中做到这一点,但它似乎不正确。
public class VideoButton extends android.support.v7.widget.AppCompatButton {
private void onCreate(){
setBackground(ResourceManager.getDrawable(R.mipmap.roundbackgroundnormal));
Drawable icon = ResourceManager.getDrawable(R.mipmap.video);
icon.setBounds(6,0,50,44);
setCompoundDrawables(icon,null,null,null);
setPadding(12,8,8,8);
...
所以,我写了一个不符合我期望的 xml 替换代码
<blah.blah.blah.ui.widgets.VideoButton
android:id="@+id/record"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@mipmap/roundbackgroundnormal"
android:drawableStart="@drawable/video"
android:visibility="visible" />
我期待这个(ty java),
但是得到这个
如何修复我的 xml 代码以获得正确的结果? TY,如果可能,请修正术语。
【问题讨论】:
-
我建议您考虑使用 @Nilesh 建议的浮动操作按钮(针对您的特定情况)。为什么?因为您正在混合背景和可绘制的图像作为您的图标。因此,您有一个问题,您需要使用 drawableStart/End/Top/Bottom 并使用在不同的屏幕密度上永远不会看起来不错的填充进行破解。您的另一个选择是创建一个 xml 可绘制文件,该文件将包含您的图标和您选择的背景颜色,并将其设置为自定义按钮的背景。
标签: android android-layout button resources icons