У меня есть кнопка как в следующем:
<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 я попробовал Button01.mutate().SetAlpha(100)
, но это дало мне ошибку.
Я только что нашел ваш вопрос, когда у меня была похожая проблема с TextView. Я смог решить ее, расширив TextView и переопределив onSetAlpha
. Возможно, вы могли бы попробовать что-то подобное с вашей кнопкой:
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:background="@android:color/transparent"
Выше это то, что я знаю ... Я думаю, что создание собственного класса кнопок - лучшая идея
Уровень API 11
Недавно я наткнулся на атрибут android: alpha xml, который принимает значение от 0 до 1. Соответствующий метод - setAlpha (float) .