Articles of android fullscreen

setSystemUiVisibility(SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION)不起作用

我一直在与setSystemUiVisibility()作斗争,试图隐藏一段时间的软导航button(对于video播放器)。 它似乎没有像广告一样工作。 这是我的代码,在一个可见的FrameLayout 。 void setNavVisibility(boolean visible) { int newVis = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; if (!visible) { newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_HIDE_NAVIGATION; } setSystemUiVisibility(newVis); } 从SDK示例略微修改: void setNavVisibility(boolean visible) { int newVis = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | SYSTEM_UI_FLAG_LAYOUT_STABLE; if (!visible) { newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION; } 被叫的时候都不要做任何事情。 当我从另一个View调用它们时,我获得了一些成功,但是文档没有提到您调用的View有什么作用? 我认为这里的文档(有点惊讶)有些缺乏。 有谁知道发生了什么事?

使用SystemUiHider保持导航栏隐藏

在旧版本的Android中,有必要在清单中使用: android:theme="@android:style/Theme.NoTitleBar.Fullscreen"来使标题栏消失。 在较新的ADT版本中,我注意到了一个SystemUiHider类,它可以让你调用它的hide()方法去除标题栏,也可以删除操作栏和导航栏。 我正在尝试编写一个全屏应用程序,我想保持全屏(对于一个自助服务terminal的实现),除非按下一个小的隐藏button。 我已经尝试过使用标准的FullscreenActivity(从新的android项目向导生成),并阻止用户界面以多种方式重现: 调用mSystemUiHider.hide() (尝试在检测到可见性变化时立即隐藏UI) 设置: AUTO_HIDE_DELAY_MILLIS = 0 (尝试并立即隐藏它,如果它是可见的) 防止调用mSystemUiHider.show(); 在contentView.setOnClickListener的onClick方法中(为了防止被显示) 我也看到了android.view文档中的setSystemUiVisibility示例(如果显示或可见性被改变,再次试图隐藏它) 他们似乎都没有工作(Android的默认导航栏的低调模式,当这些尝试中的任何一个。 我明白,他们可能不希望开发人员做我正在做的事情,但我希望我可以扩展SystemUiHider (和/或SystemUiHiderBase )并重写show()方法基本上不显示,除非传递一个true标志。 我似乎无法find这些类中的任何文档(也许是因为它们是实用类?)。

在Android版本> = 5上绘制导航栏(和其他应用程序)

我想在服务的其他应用程序上画一个(鼠标指针)图标。 我已经实现了function,除了导航栏之外,我可以在屏幕上绘制。 我在这里研究了 其他 几个 问题 ,尝试了TYPE_SYSTEM_OVERLAY , TYPE_TOAST , TYPE_SYSTEM_ERROR和其他一些窗口types,但都没有成功。 我不是想捕捉焦点,只需在屏幕上画一个鼠标指针一两秒。 当我尝试绘制导航栏时,它只是在下面(实际上,RelativeLayout以导航栏的边框结束 – 即使我指定了高度的手动尺寸)。 下面的屏幕截图显示了屏幕右下方的手形指针。 这是我可以定位的。 请注意,我没有试图隐藏我的应用程序中的导航栏 – 尝试绘制其他应用程序。 我甚至尝试在WindowManager.LayoutParams实例中设置xpos和ypos偏移量设置,但刚刚抵消了布局,仍然在导航栏下方)。 我用来显示这个窗口的布局参数: WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, PixelFormat.TRANSPARENT); 然后,我将这些参数的RelativeLayout添加到WindowManager: windowManager.addView(relativeLayout, params);

从沉浸式模式返回时,操作栏显示不正确

我在ActionBarActivity从Immersive Mode返回一些问题。 我创build了一个简单的应用程序来说明这个问题。 有一个button来切换沉浸式模式的布局。 当从沉浸模式“返回”时,动作条从原始位置向下偏移,大致相同的距离,通常偏离屏幕的顶部。 我试过这个在运行棒棒糖的Nexus 4上。 这种行为并没有发生在棒棒堂之前。 之前的截图, 沉浸 , 之后 。 说明这个问题的一个简单的ActionBarActivity : public class MainActivity extends ActionBarActivity { private boolean immersed; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @TargetApi(Build.VERSION_CODES.KITKAT) private void enterImmersiveMode() { if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY ); […]

HTML5video控件在Android设备上以全屏模式消失

我正在开发一个跨平台的应用程序,使用带angular形材料前端的cordova。 我使用md卡列表中的HTML5video标签来播放外部url的video。 内联video播放正确后,按预期方式显示本机控件。 <video class="project-video" video-directive item="$ctrl.project" ng-src="{{$ctrl.project.videoUrl | trustUrl}}" preload="auto" controls poster="{{$ctrl.project.video.thumbnail_url}}"> Your browser does not support the video tag. </video> 但是,当我点击“切换全屏”button的video确实进入全屏,但默认控制消失。 在这之后,我无法回到应用程序 – 原生的android后退button并没有closures整个屏幕 – 而是closures了整个应用程序。 我正在寻找的解决scheme将使控件始终以全屏模式显示; 这在iOS上运行相同的代码的框。 因此,我不想花时间开发我自己的自定义video控件只是为了Android,如果我能帮助它! 所以请不要发布有关如何做的答案(大量已经在SO和其他地方可用)。 我正在使用一个魅族M2注意Android设备。 谢谢! 编辑: 控件仍然存在,但在CSS中的阴影DOM树中显示大小为0 x 0px。 即使我使用!important标志在chrome开发工具中改变它们的大小,它们也不会显示出来。 有任何想法吗?

全屏通知仅显示为“正面向上”

我已经把这个问题的头撞到桌子上了3天了,请告诉我我在哪里偏离了。 当我收到一个传入的VoIP电话时,我正在尝试显示全屏通知,就像PhoneApp一样。 如果用户处于身临其境的状态,我可以向前走。 但是,我只得到一个抬头通知,并没有得到一个全屏。 我需要通知忽略locking屏幕。 这是我在做什么: String callJson = call.toJson(uber).toString(); uber.requestWakeState(UberVoice.WAKE_STATE_FULL); final Notification.Builder builder = new Notification.Builder(uber); builder.setSmallIcon(R.drawable.switch_notification); if (image != null) { builder.setLargeIcon(image); } builder.setOngoing(true); PendingIntent inCallPendingIntent = PendingIntent.getActivity(uber, 234, UberVoice.createInCallIntent(), 0); builder.setContentIntent(inCallPendingIntent); builder.setContentText(body); builder.setUsesChronometer(false); builder.setContentTitle(title); builder.setCategory(Notification.CATEGORY_CALL); builder.setVisibility(Notification.VISIBILITY_PUBLIC); builder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE), AudioManager.STREAM_RING); builder.setVibrate(new long[]{500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, […]

适用于全屏模式的Android Studio键盘快捷键

我想在Android Studio进入全屏模式。 是否有任何Keyboard Shortcut来做到这一点。 什么是在Android Studio进入和exit全屏模式的Keyboard Shortcut键?

Android:制作全屏应用程序

我可以对最新版本的Android Studio创build的新空白活动进行最简单的更改,以使应用程序呈现全屏状态? 我想创build一个全屏Android应用程序。 我正在使用Android Studio。 这篇文章build议我添加一行如… android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" …到AndroidManifest.xml文件,如下所示: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lexogram.james.blackslate" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.lexogram.james.blackslate.MainActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 当我这样做,应用程序编译,但发射崩溃。 如果我删除线,应用程序运行良好,但与操作栏和标题栏,其他用户也注意到。 这是我第一次尝试创build一个Android应用程序,所以我的应用程序很难从最初的Hello World例子中修改。 编辑:我创build了一个新的项目,并做了这一个更改。 这里是错误日志的摘录: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lexogram.james.test/com.lexogram.james.test.MainActivity}: java.lang.IllegalStateException: You need to […]

使SurfaceView大于屏幕(将相机预览调整为比显示更大的SurfaceView)

我有一个自定义相机应用程序,我希望任何预览大小以全屏模式显示,而无需拉伸相机预览图像。 为此,为了保持宽高比,我需要使SurfaceView大于屏幕,所以实际上用户会看到比实际拍摄的更less的照相机。 出于某种原因,我不能使SurfaceView大于屏幕尺寸。 我到目前为止所尝试的是: 在surfaceChanged方法中调整相机预览的大小 在onMeasure方法中调整相机预览的大小 在onLayout 方法中调整它的大小 将FLAG_LAYOUT_NO_LIMITS添加到activity – info 为表面视图添加android: clipChildren – info 在xml中设置宽度: android:layout_width="852px" getWindow().setLayout(852, 1280); 在活动中 但没有任何成功 – 每次的行为都是一样的:1秒钟就可以看到,然后拉伸。 这里是代码: public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback { private static final int CAMERA_ROTATE_ANGLE = 90; private SurfaceHolder cameraHolder; private Camera androidHardCamera; private Context context; public CameraPreview(Context context) { super(context); this.context = […]

Android使全屏显示对话框

我需要对话框来填充屏幕,除了顶部和底部的一些空间。 我search了一个解决scheme,但找不到一个可能是因为我在onClickListener声明它。 有人可以给一个解决scheme吗? 活动代码: sort.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub AlertDialog.Builder sort = new AlertDialog.Builder(HomeScreen.this); // Get the layout inflater LayoutInflater inflater = HomeScreen.this.getLayoutInflater(); View sortView = inflater.inflate(R.layout.sort_layout, null); sort.setView(sortView); sort.create().show(); } }); XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="50dp" android:layout_marginTop="50dp" android:background="@color/white" android:orientation="vertical" android:layout_gravity="center"> + […]