ImageView没有覆盖systemUI android

时间:2015-11-21 12:31:08

标签: android imageview

我试图让ImageView屏幕截图占据整个屏幕(包括顶部的SystemUi导航栏。我尝试了Kitkat中引入的“沉浸式全屏”,以及这确实夺走了UI栏,但我的图像仍然没有一直延伸到顶部(如图像顶部的蓝色条所示)。开发者网站说这样做是为了让图像不会在UI返回时必须调整大小,但如果您不希望UI完全可见,则它不提供备用解决方案。

screenshot image< - 我还没有足够的声誉发布图片。

这是我尝试过的代码(注释掉的部分是我尝试过的其他选项,但也没有用):

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);

1 个答案:

答案 0 :(得分:0)

我明白了。最近,他们已将XML格式切换为每个活动包含两个XML文档(例如activity_main.xmlcontent_main.xml)。我通常只在内容文件中工作,但您还必须确保activity_main.xml中的代码是您所需要的。在我的情况下,我需要删除一行 - android:fitsSystemWindow = "true。删除此行后,ImageView会延伸到状态栏和导航栏区域。