【问题标题】:Background is not dimming in fragment背景没有在片段中变暗
【发布时间】:2018-10-15 01:51:57
【问题描述】:

我正在使用一个片段,当我点击它时有一个按钮,背景会变暗,textView 将可见。变暗效果和文本的外观将立即发生。出于某种原因,我没有'没有得到这些结果。

这是我的代码:-

activate_wifi_button = (Button)wifi_and_hotspot.findViewById(R.id.Activate_wifi);

activate_wifi_button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        final Handler handler = new Handler();
        final Runnable runnable = new Runnable() {
        @Override
        public void run() {
            WindowManager.LayoutParams layoutParams=getActivity().getWindow()
                                .getAttributes();
            layoutParams.dimAmount = 0.7f;           
            getActivity().getWindow().setAttributes(layoutParams);
            getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
            text.setVisibility(View.VISIBLE);
            text_animate_dots.setVisibility(View.VISIBLE);
            timer.cancel();
            }
        };
        timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                handler.post(runnable);
            }
        }, 2000, 2000);
    }
});

我使用了 handler 和 runnable,因为我想为 textview 设置 2 秒的动画,但动画部分可能会在稍后出现,我需要执行上述任务。

【问题讨论】:

  • FLAG_DIM_BEHIND 是用于在Window后面调暗的标志,并且您的Windows可能是全屏的,因此您看不到它。它用于自定义对话框。您可能应该修改片段本身的背景颜色。
  • 那么我怎样才能让它工作......

标签: java android android-fragments android-handler


【解决方案1】:

对于想要的输出,可以在FrameLayout中采用半透明布局和textView。在 onclick 方法中,设置其可见性 VISIBLE;并且为了更好的用户体验,将淡入淡出动画设置为 textview。

【讨论】:

  • 相对布局是否可行
  • 不,框架布局或约束布局都可以。
猜你喜欢
  • 1970-01-01
  • 2018-01-26
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
相关资源
最近更新 更多