ImageView 不覆盖 systemUI android

ImageView not covering systemUI android

我正在尝试让 ImageView 的屏幕截图占据全屏(包括顶部的 SystemUi 导航栏。我尝试了 Kitkat 中介绍的 "Immersive full screen" ,这确实带走了 UI 条,但我的图像仍然没有一直延伸到顶部(如图像顶部的蓝色条所示)。开发者网站说它是这样做的这样当 UI 返回时图像不必调整大小,但如果您根本不希望 UI 可见,它不会提供替代解决方案。

屏幕截图 image <- 我还没有足够的声誉来 post 图片。

这是我试过的代码(注释掉的部分是我试过但也不起作用的其他选项):

public class TrickScreen extends AppCompatActivity {

    @Bind(R.id.screenshotImage) ImageView mScreenshotImage;
    private Uri mMediaUri;
    View mTrickScreenView;
    RelativeLayout rl;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_trick_screen);
        ButterKnife.bind(this);
        mTrickScreenView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
        int uiOptions2 = View.SYSTEM_UI_FLAG_IMMERSIVE;
        int uiOptions3 = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;


        mTrickScreenView.setSystemUiVisibility(uiOptions | uiOptions2 | uiOptions3);

//        requestWindowFeature(Window.FEATURE_NO_TITLE);
//        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        Intent intent = getIntent();
        mMediaUri = intent.getData();

        mScreenshotImage.setImageURI(mMediaUri);
//        File file = new File(mMediaUri.getPath());
//        Drawable drawable = Drawable.createFromPath(file.getAbsolutePath());
//        rl = (RelativeLayout)findViewById(R.id.trickRelativeLayout);
//        rl.setBackground(drawable);

我明白了。最近他们改变了 XML 格式,每个 activity 包含两个 XML 文档(例如 activity_main.xmlcontent_main.xml)。我通常只在内容文件中工作,但你也必须确保 activity_main.xml 中的代码是你需要的。在我的例子中,我需要删除一行 - android:fitsSystemWindow = "true。删除此行后,ImageView 会延伸到状态栏和导航栏区域。