Как установить непрозрачность (альфа) для представления в Android

У меня есть кнопка как в следующем:

<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), но это дало мне ошибку.

197
задан Renjith 11 June 2013 в 19:16
поделиться

2 ответа

Я только что нашел ваш вопрос, когда у меня была похожая проблема с 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;
  }
}
60
ответ дан 23 November 2019 в 05:13
поделиться
android:background="@android:color/transparent"

Выше это то, что я знаю ... Я думаю, что создание собственного класса кнопок - лучшая идея

Уровень API 11
Недавно я наткнулся на атрибут android: alpha xml, который принимает значение от 0 до 1. Соответствующий метод - setAlpha (float) .

19
ответ дан 23 November 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: