【问题标题】:how to set opacity of background image without affecting text如何在不影响文本的情况下设置背景图像的不透明度
【发布时间】:2014-05-16 17:11:42
【问题描述】:

我正在设置我在按钮中用作背景的图像的不透明度。但是当我设置按钮的不透明度时,它也会改变文本的不透明度。我尝试以编程方式设置按钮文本。但仍然无法正常工作。如何在不影响文字颜色不透明度的情况下设置不透明度?

代码-

hist = (Button) findViewById(R.id.hist);
hist.setText("HISTORY");

Xml-

<Button
        android:id="@+id/hist"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/bttn"
        android:alpha=".6"
        android:gravity="center"
        android:textColor="#FFFFFF"
        android:textStyle="bold"
        android:textSize="@dimen/btxt"/>

提前致谢。

【问题讨论】:

  • 您必须更改图像 (bttn) 上的 alpha,而不是按钮本身。
  • 在很多方面。如果是 png,请使用图形编辑器。如果它是一个 xml 可绘制对象,它应该有一个 android:alpha 属性。或者通过代码来完成,正如@Deacoy 在他的回答中显示的那样(适用于图像和 xml 可绘制对象)
  • @KlingKlang 如何更改按钮的透明度而不影响按钮文本的透明度?我将 button:alpha 设置为 0.25,但它也会影响按钮文本颜色。如何防止这种行为?
  • @ChinmaySarupria button:alpha 影响整个对象。您只想绘制背景。因此,准备一个 0.25 的 alpha 图像或可绘制对象并将其分配给按钮背景。就这么简单。
  • @KlingKlang 我遵循了下面的答案,并且通过 Java 代码有效,它不会影响文本颜色。

标签: android button text opacity


【解决方案1】:

来自代码:

yourButton.getBackground().setAlpha(100);

【讨论】:

  • 我没有任何文本视图。如何用按钮上的文字做到这一点?
猜你喜欢
  • 2016-12-23
  • 2011-06-27
  • 2014-11-23
  • 1970-01-01
  • 2017-03-17
相关资源
最近更新 更多