gpt4 book ai didi

android - DrawableTop 不显示可绘制对象

转载 作者:行者123 更新时间:2023-11-30 04:08:12 25 4
gpt4 key购买 nike

我正在尝试使用 drawableTop 在按钮中的文本上方显示图片。

我的图片来自 sdcard,不是 drawable。

此外,按钮的大小可能会根据显示的按钮数量而变化。更多的按钮,更小的按钮,然后是更小的图像。

这是我创建按钮的方式:

btn = (Button) LayoutInflater.from(
getBaseContext()).inflate(
R.layout.buttonstyle, l1, false);

这是 XML 文件按钮样式:

<?xml version="1.0" encoding="UTF-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/roundcorners"
android:id="@+id/buttonTest"
android:scaleType="centerInside"
android:cropToPadding="false"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="10dip"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:text="Test text"
android:textSize="40dip"
android:textStyle="bold"
android:textColor="#000000">
</Button>

下面是我创建 drawableTop 的方法:

Drawable drawableTop = Drawable.createFromPath(endImagemVoltar); 
btn.setCompoundDrawables(null, drawableTop, null, null);

文本显示在按钮中,但图像没有出现。

哪里出错了?

感谢任何帮助!

最佳答案

我想缺少的是您的可绘制对象已经拥有 setBounds(Rect)称为还可以尝试将图片加载到位图中,然后将其放入可绘制对象中:

Bitmap bitmapImage = BitmapFactory.decodeFile(endImagemVoltar);
Drawable bgrImage = new BitmapDrawable(bitmapImage);

要使用 SetBounds:

 public void setBounds (int left, int top, int right, int bottom)

例如,对于 50x50 尺寸,使用:

drawable.setBounds(0, 0, 50, 50);

关于android - DrawableTop 不显示可绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11286364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com