gpt4 book ai didi

android - 将透明按钮图像和背景颜色设置为按钮

转载 作者:行者123 更新时间:2023-11-29 00:43:14 25 4
gpt4 key购买 nike

我有一个带有白色边框且没有标签的透明按钮图像。我想创建一个按钮,它有它的标签,它的背景透明图像,并想为按钮动态设置背景颜色。

透明按钮图片:
enter image description here

在设置带有标签和背景颜色的按钮图像后,按钮应如下所示:

enter image description here

我尝试使用 FrameLayoutTextViewButton 来实现这一点。就像在 framelayout 中一样,第一个 child 将是 textview,第二个 child 将是按钮。将透明 btn 图像设置为按钮和 TextView 将具有必须动态设置的标签和背景颜色。我几乎可以做到这一点,但 textview 大小应该比按钮图像小一点,这件事我必须动态计算。目前 textview 背景颜色有时会超出按钮,而且圆形也不会出现。

xml:

<FrameLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="15dip" >

<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textSize="20sp"
android:textColor="#FFFFFFFF"
android:id="@+id/btn_bacground"
android:gravity="center"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dip"
android:layout_marginRight="1dip"
android:layout_marginLeft="0dip" />

<Button
android:id="@+id/button_img"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/btn_transparent_img"/>

</FrameLayout>

编辑:将背景颜色、大小和标签设置为 Textview。按钮的背景图片。

buttonClick = (Button) buttonClickFrame.findViewById(R.id.button_img);
buttonBg = (TextView) buttonClickFrame.findViewById(R.id.btn_bacground);
buttonBg.setBackgroundColor(Color.parseColor(BG_COLOR));
buttonBg.setText("Click");
buttonPhone.setBackgroundDrawable(getResources().getDrawable(R.drawable.btn_transparent_img));
setBackgroundDimentions(buttonClick, buttonBg);
buttonClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onPhoneClick(v);
}
});

private void setBackgroundDimentions(Button btn, TextView bckView) {
final Button mBtn = btw;
final TextView mBckView = bckView;
ViewTreeObserver vto = mBtn.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
int finalHeight = mBtn.getMeasuredHeight();
int finalWidth = mBtn.getMeasuredWidth();
mBckView.setWidth(finalWidth - 14);
mBckView.setHeight(finalHeight - 15);
return true;
}
});
}

请建议我如何实现这一目标。

最佳答案

你为什么不使用图像按钮。!

像这样:

  <ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/btn_transparent_img"
android:background="#000000"
/>
  • 使用图像按钮
  • 添加你的透明图片作为src
  • 根据需要更改背景颜色

Refer this link for further help:

关于android - 将透明按钮图像和背景颜色设置为按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8121138/

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