Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.hci.androview;
- import com.hci.androview.util.SystemUiHider;
- import android.annotation.TargetApi;
- import android.app.Activity;
- import android.os.Build;
- import android.os.Bundle;
- import android.os.Handler;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.*;
- import android.content.*;
- import android.net.*;
- import android.provider.*;
- import android.database.*;
- import android.graphics.*;
- /**
- * An example full-screen activity that shows and hides the system UI (i.e.
- * status bar and navigation/system bar) with user interaction.
- *
- * @see SystemUiHider
- */
- public class FullscreenActivity extends Activity {
- /**
- * Whether or not the system UI should be auto-hidden after
- * {@link #AUTO_HIDE_DELAY_MILLIS} milliseconds.
- */
- private static final boolean AUTO_HIDE = true;
- /**
- * If {@link #AUTO_HIDE} is set, the number of milliseconds to wait after
- * user interaction before hiding the system UI.
- */
- private static final int AUTO_HIDE_DELAY_MILLIS = 3000;
- /**
- * If set, will toggle the system UI visibility upon interaction. Otherwise,
- * will show the system UI visibility upon interaction.
- */
- private static final boolean TOGGLE_ON_CLICK = true;
- /**
- * The flags to pass to {@link SystemUiHider#getInstance}.
- */
- private static final int HIDER_FLAGS = SystemUiHider.FLAG_HIDE_NAVIGATION;
- /**
- * The instance of the {@link SystemUiHider} for this activity.
- */
- private SystemUiHider mSystemUiHider;
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
- Uri selectedImage = data.getData();
- try {
- Bitmap bm;
- bm = BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImage));
- ImageView imageView = (ImageView) findViewById(R.id.img);
- imageView.setImageBitmap(bm);
- } catch (Exception e) {
- }
- //grantUriPermission("com.hci.androview", selectedImage, Intent.FLAG_GRANT_READ_URI_PERMISSION);
- // TextView txttest = (TextView) findViewById(R.id.txttest);
- //txttest.setText("Text: " + selectedImage.toString());
- /*
- String[] filePathColumn = { MediaStore.Images.Media.DATA };
- Cursor cursor = getContentResolver().query(selectedImage,
- filePathColumn, null, null, null);
- cursor.moveToFirst();
- int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
- String picturePath = cursor.getString(columnIndex);
- cursor.close();
- imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));*/
- }
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_fullscreen);
- final View controlsView = findViewById(R.id.fullscreen_content_controls);
- final View contentView = findViewById(R.id.fullscreen_content);
- // Set up an instance of SystemUiHider to control the system UI for
- // this activity.
- mSystemUiHider = SystemUiHider.getInstance(this, contentView,
- HIDER_FLAGS);
- mSystemUiHider.setup();
- mSystemUiHider
- .setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener() {
- // Cached values.
- int mControlsHeight;
- int mShortAnimTime;
- @Override
- @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
- public void onVisibilityChange(boolean visible) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
- // If the ViewPropertyAnimator API is available
- // (Honeycomb MR2 and later), use it to animate the
- // in-layout UI controls at the bottom of the
- // screen.
- if (mControlsHeight == 0) {
- mControlsHeight = controlsView.getHeight();
- }
- if (mShortAnimTime == 0) {
- mShortAnimTime = getResources().getInteger(
- android.R.integer.config_shortAnimTime);
- }
- controlsView
- .animate()
- .translationY(visible ? 0 : mControlsHeight)
- .setDuration(mShortAnimTime);
- } else {
- // If the ViewPropertyAnimator APIs aren't
- // available, simply show or hide the in-layout UI
- // controls.
- controlsView.setVisibility(visible ? View.VISIBLE
- : View.GONE);
- }
- if (visible && AUTO_HIDE) {
- // Schedule a hide().
- delayedHide(AUTO_HIDE_DELAY_MILLIS);
- }
- }
- });
- // Set up the user interaction to manually show or hide the system UI.
- contentView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (TOGGLE_ON_CLICK) {
- mSystemUiHider.toggle();
- } else {
- mSystemUiHider.show();
- }
- }
- });
- // Upon interacting with UI controls, delay any scheduled hide()
- // operations to prevent the jarring behavior of controls going away
- // while interacting with the UI.
- findViewById(R.id.dummy_button).setOnTouchListener(
- mDelayHideTouchListener);
- Button button = (Button) findViewById(R.id.dummy_button);
- button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- Intent i = new Intent();
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- i.setAction(Intent.ACTION_OPEN_DOCUMENT);
- } else {
- i.setAction(Intent.ACTION_GET_CONTENT);
- }
- i.addCategory(Intent.CATEGORY_OPENABLE);
- i.setType("image/*");
- startActivityForResult(i, 1);
- }
- });
- }
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- // Trigger the initial hide() shortly after the activity has been
- // created, to briefly hint to the user that UI controls
- // are available.
- delayedHide(100);
- }
- /**
- * Touch listener to use for in-layout UI controls to delay hiding the
- * system UI. This is to prevent the jarring behavior of controls going away
- * while interacting with activity UI.
- */
- View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() {
- @Override
- public boolean onTouch(View view, MotionEvent motionEvent) {
- if (AUTO_HIDE) {
- delayedHide(AUTO_HIDE_DELAY_MILLIS);
- }
- return false;
- }
- };
- Handler mHideHandler = new Handler();
- Runnable mHideRunnable = new Runnable() {
- @Override
- public void run() {
- mSystemUiHider.hide();
- }
- };
- /**
- * Schedules a call to hide() in [delay] milliseconds, canceling any
- * previously scheduled calls.
- */
- private void delayedHide(int delayMillis) {
- mHideHandler.removeCallbacks(mHideRunnable);
- mHideHandler.postDelayed(mHideRunnable, delayMillis);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement