相关疑难解决方法(0)

如何在imageView上单击显示imageView全屏?

我从url获取图像并在imageView上显示它.此功能正常运行.但我希望当我点击该图像时,它必须是全屏的.那么如何实现这一功能呢?我知道我错过了什么.请帮我.屏幕截图已附上.我也想在我的应用程序中使用相同的功能.

点击之前 点击后

这是我的代码,我正在尝试图片点击:

    @Override
    public void onClick(View v) {
        if (isTouch1) {
            horizontalScrollView.setVisibility(View.GONE);
            isTouch1 = false;
            // mSystemUiHider.toggle();
            setTheme(R.style.FullscreenTheme);
            Log.d("Here isTouch is true", ">");
            // ChangeThemeUtils.changeToTheme(FullScreenImageAdapter.this, ChangeThemeUtils.THEME_HIDE_ALL_WINDOW);
            getSupportActionBar().hide();

        } else {
            isTouch1 = true;
            horizontalScrollView.setVisibility(View.VISIBLE);
            getSupportActionBar().show();
            setTheme(R.style.ExampleTheme);
            //mSystemUiHider.show();
            Log.d("Here isTouch is false", ">");    
        }
    }
Run Code Online (Sandbox Code Playgroud)

android fullscreen imageview android-fullscreen

34
推荐指数
5
解决办法
13万
查看次数

如何在 Android 中激活/停用全屏模式时禁用状态栏和导航栏动画

问题

激活和停用(沉浸式)全屏模式会导致状态栏和导航栏“淡入”和淡出。动画似乎在不同设备上有所不同,我想完全禁用动画。我的最低目标 SDK 是 19;但是,我也会对需要更高 API 级别的解决方案感到满意。请参阅下文了解更多详情。

运行演示

我实现了一个(最小的)演示,以便人们可以轻松测试。一切都可以在 GitHub 上找到:

为了澄清起见,我使用setSystemUiVisibility(FLAGS)激活/停用全屏模式。此外,我使用以下标志:

激活全屏模式:

int visibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                   | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                   | View.SYSTEM_UI_FLAG_FULLSCREEN
                   | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
mainView.setSystemUiVisibility(visibility);
Run Code Online (Sandbox Code Playgroud)

停用全屏模式:

int visibility = View.SYSTEM_UI_FLAG_VISIBLE;
mainView.setSystemUiVisibility(visibility);
Run Code Online (Sandbox Code Playgroud)

我尝试过的

我已经尝试了很多不同的事情并做了很多研究。下面,我想总结一下我已经尝试过的主要方法。

  1. setSystemUiVisibility很多人建议使用getWindow().setFlags更改标志,而不是使用(这似乎是推荐的)。然而,以不同的方式设置标志似乎没有效果。我还认为这已经过时了。
  1. 在活动之间切换时,似乎可以将状态栏和导航栏从退出/进入淡入淡出过渡中排除。然而,这似乎对激活/停用全屏模式没有任何影响。
  1. 有些人只是推荐不同的标志(通常只是为了隐藏栏) - 但动画保持不变。

    View.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);

  1. 有些人强调可以覆盖后续动画,overridePendingTransition(0, 0) 但在这种情况下这似乎并不那么有效。

动画看起来是什么样子

只是为了澄清我的意思。下面是显示状态/导航栏动画的 gif 动画(抱歉,我没有嵌入图像的权限)

Android 8.0 / 华为 / 没有淡出动画(两个条都根据需要消失,但动画有淡出)。状态栏和导航栏都会“闪现”。

Android …

animation android statusbar navigationbar

6
推荐指数
0
解决办法
1639
查看次数

Android:禁用并启用以编程方式为API 19提取状态栏

我已经完成了隐藏状态栏的工作,但遗憾的是,一旦隐藏状态栏,我就没有找到显示它的方法.我做了很多解决方法,但仍然没有成功,无论是在这里还是在这里.

活动

 WindowManager manager = ((WindowManager) getApplicationContext()
                .getSystemService(Context.WINDOW_SERVICE));

 WindowManager.LayoutParams localLayoutParams = new WindowManager.LayoutParams();
 localLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
 localLayoutParams.gravity = Gravity.TOP;
 localLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|

 // this is to enable the notification to receive touch events
 WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |

 // Draws over status bar
 WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;

 localLayoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
 localLayoutParams.height = (int) (50 * getResources()
                .getDisplayMetrics().scaledDensity);
 localLayoutParams.format = PixelFormat.TRANSPARENT;

 customViewGroup view = new customViewGroup(this);
 manager.addView(view, localLayoutParams);
Run Code Online (Sandbox Code Playgroud)

customViewGroup类

class customViewGroup extends ViewGroup {

    public customViewGroup(Context context) {
        super(context);
    }

    @Override
    protected void …
Run Code Online (Sandbox Code Playgroud)

android statusbar

1
推荐指数
1
解决办法
2284
查看次数