我正在开发一个简单的应用程序,因为有6个按钮。 当我点击其中一个按钮时,其他按钮必须是部分透明的。我尝试通过设置5个按钮的alpha来
acre_button.getBackground().mutate().setAlpha(155);
应用程序的UI未按预期更改。我得到的只有3分是透明的。当点击那两个按钮时,它正在慢慢改变它的透明度
提前致谢
的问候, kariyachan
答案 0 :(得分:1)
Button btn;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.main_btn);
Drawable d = getResources().getDrawable(R.drawable.imagen);
d.setAlpha(60);
btn.setBackgroundDrawable(d);
}
这对我有用:)
答案 1 :(得分:0)
尝试以下方法:
button.setBackgroundColor(android.R.color.transparent);
答案 2 :(得分:0)
在android-sdk目录中找到按钮背景:android-sdk\platforms\android-10\data\res\drawable-mdpi\btn_default_normal.9.png
您可以修改它以使其半透明(请注意,这是9-patch,您不应该更改黑线的不透明度。)
在drawable目录中有了这个更改按钮后,您可以将其添加到您的代码中:
button.setBackgroundDrawable(getResources().getDrawable(R.drawable.transparentImage));
使其半透明和
button.setBackgroundDrawable(getResources().getDrawable(Android.R.drawable.btn_default_normal));
将其改回来。
答案 3 :(得分:0)
对于仍在寻找解决方案的人:
从 API 16
开始,方法setBackgroundDrawable(Drawable d)
已弃用
假设您的按钮的ID为buttonId
且您的drawable名为button_img
,
通过在onCreate方法中使用以下内容来处理此问题:
((Button)(findViewById(R.id.buttonId))).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Drawable d = v.getResources().getDrawable(R.drawable.button_img);
d.setAlpha(40);
if (Build.VERSION.SDK_INT >= 16)
v.setBackground(d);
else
v.setBackgroundDrawable(d);
//Then call your next Intent or desired action.
}
});
经过测试并适合我!