当前位置: 首页 > 知识库问答 >
问题:

如何在Android Java中调整FloatingActionButton的大小

毛博
2023-03-14

我一直试图创建一个带有文本的浮动操作按钮,但我无法:

  • 设置按钮中文本的颜色

当我把文本做得太小时,它会变得模糊。

我下面的尝试不起作用。

我可能做错了什么?

//method to convert text to image
public Bitmap textAsBitmap(String text, float textSize, int textColor) {
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

    int textSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, textSize, getResources().getDisplayMetrics());

    paint.setTextSize(textSize);
    paint.setColor(textColor);
    paint.setTextAlign(Paint.Align.LEFT);
    float baseline = -paint.ascent(); // ascent() is negative

    Typeface plain = ResourcesCompat.getFont(this, R.font.font_awesome_free_solid);

    paint.setTypeface(plain);

    int width = (int) (paint.measureText(text) + 0.0f); // round
    int height = (int) (baseline + paint.descent() + 0.0f);
    Bitmap image = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(image);
    canvas.drawText(text, 0, baseline, paint);
    return image;
}

FloatingActionButton fab = getFloatingActionBtn(this);
fab.setLayoutParams(fabLayoutParams);
fab.setImageBitmap(textAsBitmap("rotate", 20, Color.WHITE));
fab.setSize(FloatingActionButton.SIZE_MINI);

public FloatingActionButton getFloatingActionBtn(Context context) {
    FloatingActionButton fab = new FloatingActionButton(context);

    fab.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {
            mWebview.loadUrl( "javascript:window.location.reload( true )" );
        }
    });
    return fab;
}

共有1个答案

鲁浩言
2023-03-14

您可以在XML中更改按钮颜色(背景色调)和大小(layout_width/高度)。

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/Photo"
        android:layout_width="65dp"
        android:layout_height="65dp"
        android:clickable="true"
        app:backgroundTint="#EF9A9A"
        app:srcCompat="@android:drawable/ic_menu_gallery" />

关于文本属性,让一个FAB有文本是很奇怪的,但您也应该检查XML。查找android:Text标记并为其提供所需的属性。

 类似资料:
  • 我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。

  • 在javaFX中,调整画布大小没有这样的方法,唯一的解决方案是从画布扩展。 “从画布扩展”是使画布可调整大小的唯一解决方案吗?因为这个解决方案只有在我们不想使用FXML的情况下才起作用,如果我们在FXML中声明一个画布,我们如何使它可以调整大小? 这是我的代码:

  • 问题内容: 您好,我有一个QR码图像,我想调整它的大小,当我尝试使用此代码将其调整为小图像时,我总是得到模糊的图像,并且扫描时QR码不再有效,但是当我使用相同的代码将大小调整为大尺寸图像时,它可以正常工作: 有什么问题,我不清楚,请至少给我一个提示,谢谢。 问题答案: 我使用仿射变换来完成此任务,这是我的代码,希望对您有所帮助

  • 本文向大家介绍如何在PHP中调整图片大小?,包括了如何在PHP中调整图片大小?的使用技巧和注意事项,需要的朋友参考一下 可以使用ImageMagick或GD功能调整图像大小。如果使用了GD的功能,则在对原始数码相机的图像进行采样时,图像文件的大小也会减小。我们将在下面的代码中看到如何使用GD调整图像大小。

  • 问题内容: 我正在使用 Swift 和Parse.com开发适用于iOS的应用程序 我试图让用户从图像选择器中选择一张图片,然后将所选图像的大小调整为200x200像素,然后再上传到我的后端。 Parse.com有一个用于Instagram复制应用程序的教程,名为“ AnyPic”,其中提供了用于调整图像大小的代码,但这是在Objective- C中。 如何在Swift中为所选图片创建200x20

  • 本文向大家介绍如何在Java中调整数组大小?,包括了如何在Java中调整数组大小?的使用技巧和注意事项,需要的朋友参考一下 数组无法在Java中动态调整大小。  一种方法是使用java.util.ArrayList(或java.util.Vector)代替本机数组。 另一种方法是重新分配大小不同的数组,然后将旧数组的内容复制到新数组。 例: 输出: