Какое время подходит для установки непрозрачности фона вида - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь установить альфа-фон моего собственного linearLayout.

Я пробовал:

//ctor
protected MyView(
      Context context, AttributeSet attrs, int defStyle, @LayoutRes int layout) {
    super(context, attrs, defStyle);
    setOrientation(VERTICAL);
    LayoutInflater.from(context).inflate(layout, this);
        getBackground().setAlpha(128);

}

и

vto.addOnGlobalLayoutListener(
    new OnGlobalLayoutListener() {
      @Override
      public void onGlobalLayout() {
        getViewTreeObserver().removeOnGlobalLayoutListener(this);
        getBackground().setAlpha(128);
      }
    });

, но фон по-прежнему нулевой

Я пробовал

ViewTreeObserver vto = getViewTreeObserver();
vto.addOnPreDrawListener(new OnPreDrawListener() {
  @Override
  public boolean onPreDraw() {
    vto.removeOnPreDrawListener(this);
    getBackground().setAlpha(128);

    return true;
  }
});

, но я получаю java.lang.IllegalStateException: This ViewTreeObserver is not alive, call getViewTreeObserver() again

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

1 Ответ

0 голосов
/ 06 марта 2019

Пробовали ли вы свойство android: alpha = "0.5" в самом xml для линейного макета?

...