我有一个按钮,如下所示:

<Button 
     android:text="Submit" 
     android:id="@+id/Button01" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content">
</Button>

在我的onCreate()项赛事中,我这样称呼Button01:

setContentView(R.layout.main);

View Button01 = this.findViewById(R.id.Button01);
Button01.setOnClickListener(this);

应用程序中有一个背景,我想在这个提交按钮上设置一个不透明度.如何设置此视图的不透明度?这是我可以在java端设置的,还是可以在main中设置的.xml文件?

在java端,我try 了Button01.mutate().SetAlpha(100),但它给了我一个错误.

推荐答案

我刚刚在TextView遇到类似问题时发现了您的问题.通过扩展TextView并覆盖onSetAlpha,我能够解决这个问题.也许你可以用你的纽扣try 一些类似的东西:

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

public class AlphaTextView extends TextView {

  public AlphaTextView(Context context) {
    super(context);
  }

  public AlphaTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
  }

  public AlphaTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
  }

  @Override
  public boolean onSetAlpha(int alpha) {
    setTextColor(getTextColors().withAlpha(alpha));
    setHintTextColor(getHintTextColors().withAlpha(alpha));
    setLinkTextColor(getLinkTextColors().withAlpha(alpha));
    return true;
  }
}

Android相关问答推荐

Android配置设置. gradle不同应用风格

如何在Android Emulator上从物理设备接收TCP消息

当我在Android上运行应用程序时,组件会随机调整大小和移动

如何在Android Jetpack Compose中找到我的手机屏幕一行有多少个单词

在Jetpack Compose中,如何判断屏幕是否已重新组合?

如何从LazyColumn中的图标异步获取可绘制的加载?

如何显示具体的商品数量?

Android studio应用判断无法打开离线数据库

需要 java 17 而不是 java 11:Android CI-CD GitHub Actions

当 EditText 用于在 android studio 中将字符串发送到 firebase 时,仅允许安全调用错误

如何在 Android 的 ViewModel 中使用 LiveData

通知使用默认语言,屏幕显示多种语言,同时通过 AppCompatDelegate 设置应用程序语言

Jetpack compose :使用 rememberSaveable 时未应用待处理的合成

LazyColumn 项目,隐式接收器无法在此上下文中调用单元

从 Firebase 云存储中获取照片会导致 Android Jetpack Compose 闪烁

重命名列失败的房间自动迁移(NOT NULL 约束失败,生成错误的迁移类)

在 Jetpack Compose 中找不到 Path 的减号()

WindowManager 内的 RecyclerView 不更新

Android Studio (Kotlin):无法启动活动

未解决的参考:getIntentSender / try 在 Jetpack Compose 中获取电话号码时