gpt4 book ai didi

android - "How to pass a parameter into a drawable"或 "Create button with gradient and changeable image"

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:45 25 4
gpt4 key购买 nike

我的 android 项目中有一个自定义 drawable,它应该是按钮的背景。但是每个按钮还应该支持一个图标和一个文本。

到目前为止我尝试的是以下内容:

我有一个名为“btn_background.xml”的可绘制对象

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list >
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#ff0000"
android:endColor="#ee1111"
android:type="linear"
android:angle="90"/>
<stroke android:color="#ff0000"
android:width="1dip"/>
<size android:width="80dip"
android:height="40dip" />
</shape>
</item>
<item android:drawable="@drawable/btn_search"/>
</layer-list>
</item>

在我的布局文件中,我是这样使用的:

<Button android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:text="Button"
android:background="@drawable/btn_background"
android:textColor="#ffffff"/>

这让我很接近……但是有两个问题:* 图像被拉伸(stretch)到整个按钮* 我不能只更改布局文件中的图像...所以我必须为每个图标制作一个单独的 btn_whatever.xml 文件?!?

我尝试的另一个解决方案是使用 ImageButton 而不是 Button 并将背景设置为我的 btn_background.xml ....这将使我能够在布局文件中选择图像......但后来我不能给它一个文本....

我很高兴听到您对我的问题的解决方案:)

非常感谢!

最佳答案

尝试使用android:drawableLeft (或类似 TopRightBottom )属性。

关于android - "How to pass a parameter into a drawable"或 "Create button with gradient and changeable image",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401789/

25 4 0