Я пытаюсь сделать снимок экрана ImageView
на весь экран (включая панель навигации SystemUi в верхней части экрана. Я попробовал «Immersive full screen», представленный в Kitkat
, и это действительно так откройте панель пользовательского интерфейса, но мое изображение все еще не распространяется до самого верха (как видно по синей полосе в верхней части изображения). Сайт разработчика говорит, что он делает это, чтобы изображение не было изменение размера, когда UI возвращается, но он не предлагает альтернативное решение, если вы не хотите, чтобы пользовательский интерфейс видимый на всехImageView не покрывает systemUI android
скриншот 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);