package com.basic.security.widget;
|
|
import android.content.Context;
|
import android.view.KeyEvent;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.Window;
|
import android.widget.FrameLayout;
|
import android.widget.ImageButton;
|
import android.widget.LinearLayout;
|
import android.widget.ListPopupWindow;
|
import android.widget.ListView;
|
import android.widget.MediaController;
|
import android.widget.RelativeLayout;
|
import android.widget.SeekBar;
|
import android.widget.TextView;
|
|
import com.basic.security.activity.MainActivity;
|
import com.basic.security.base.BaseApplication;
|
|
import java.lang.reflect.Field;
|
|
public class MyMediaController extends MediaController
|
{
|
private FrameLayout anchorView;
|
|
public void hideSystemUI() {
|
try {
|
Field f = this.getClass().getSuperclass().getDeclaredField("mRoot");
|
f.setAccessible(true);
|
View mRoot = (View) f.get(this);
|
|
if (mRoot != null) {
|
mRoot.setBackgroundColor(0x33000000);
|
}
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
try {
|
Field f = this.getClass().getSuperclass().getDeclaredField("mWindow");
|
f.setAccessible(true);
|
Window window = (Window) f.get(this);
|
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
| View.SYSTEM_UI_FLAG_FULLSCREEN
|
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
| View.SYSTEM_UI_FLAG_IMMERSIVE);
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
@Override
|
public boolean dispatchKeyEvent(KeyEvent event) {
|
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK ) {
|
((MainActivity)BaseApplication.getApplication().activity).exit_fullscreen();
|
return true;
|
}
|
return super.dispatchKeyEvent(event);
|
}
|
public MyMediaController(Context context, FrameLayout anchorView)
|
{
|
super(context);
|
this.anchorView = anchorView;
|
hideSystemUI();
|
}
|
|
@Override
|
protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld)
|
{
|
super.onSizeChanged(xNew, yNew, xOld, yOld);
|
|
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) anchorView.getLayoutParams();
|
lp.setMargins(0, 0, 0, yNew);
|
|
anchorView.setLayoutParams(lp);
|
anchorView.requestLayout();
|
}
|
|
@Override
|
public void show(int timeout) {
|
super.show(0);
|
hideSystemUI();
|
}
|
}
|