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