少年乘勇气,百战过乌孙。这篇文章主要讲述全屏应用程序android相关的知识,希望能为你提供帮助。
我有两个问题:
- 一个如何在全屏幕上运行我的应用程序
- 视频播放器如何全屏播放视频。
我找到的解决方案列表,但它们没有满足我的要求
- 这只隐藏了通知栏。
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow()setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)。 - 也只隐藏通知栏
android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
- 它低配置导航栏没有隐藏它。 。getWindow()getDecorView()setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)。
- 对我的活动没有影响。 anyView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
- 我不是在谈论生根设备,所以请提供那些可以在不生根设备的情况下工作的解决方案。
- 我不是说只隐藏通知栏,而是隐藏导航栏和通知栏全屏。
- 我在谈论果冻豆API 4.1或大于4.1版本的android
- 请用代码给出答案。
但我的应用程序看起来应该没有导航栏:
我不希望我的应用程序中显示系统导航栏。
答案我不确定你追求的是什么,但以下隐藏了通知栏和软导航键(如Google Nexus设备上所示),因此该应用基本上是“全屏”。
Aaditi
在Android 4.4(API 19)中,谷歌推出了新的沉浸式模式,它可以隐藏状态和导航栏,并允许真正的全屏UI。
// This snippet hides the system bars.
private void hideSystemUI() {
// Set the IMMERSIVE flag.
// Set the content to appear under the system bars so that the content
// doesn't resize when the system bars hide and show.
mDecorView.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 // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE);
}// This snippet shows the system bars. It does this by removing all the flags
// except for the ones that make the content appear under the system bars.
private void showSystemUI() {
mDecorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
参考: https://developer.android.com/training/system-ui/immersive.html
编辑: 使用Soft Nav键在Android 4.3(API 18)和Android 4.1(API 16)上进行测试。
@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.main);
int mUIFlag = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
getWindow().getDecorView().setSystemUiVisibility(mUIFlag);
}
欲了解更多信息,请阅读http://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int)
另一答案 - 要隐藏状态栏:
我找到了一个很好的解决方案,将每个Activity
theme
和windowSoftInputMode
设置为以下值:<
activityandroid:name=".MyActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="adjustResize">
<
!-- theme : to set the activity to a full screen mode without a status bar(like in some games) -->
<
/activity>
<
!-- windowSoftInputMode : to resize the activity so that it fits the condition of displaying a softkeyboard -->
了解更多信息refer here。
- 隐藏通知栏:
有两种方式:
1- root你的设备,然后在
adb window command
中打开设备,然后运行以下命令: adb shell >
su >
pm disable com.android.systemui >
【全屏应用程序android】并得到它只是做同样但改变
disable
到enable
。2-将以下行添加到设备的build.prop文件的末尾:
qemu.hw.mainkeys = 1
然后把它拿回来就把它移除。
如果您不知道如何编辑build.prop文件:
- 在您的设备上下载EsExplorer并搜索build.prop然后更改它的读写权限,最后添加该行。
- 下载一个专门的build.prop编辑器应用程序,如build.propEditor。
- 或者参考that link。
View.SYSTEM_UI_FLAG_IMMERSIVE;
所以至少在nexus 4 4.4.2上新的工作解决方案是
final int mUIFlag =
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE;
虽然它与其他标志结合使用时,单独沉浸不会起作用。有关详细信息,请参阅文档然后你在活动中添加激活这个设置,如前所示(我只是添加一致性)
getWindow().getDecorView().setSystemUiVisibility(mUIFlag);
另一答案我制作了2个布局,一个用于常规尺寸,一个用于全屏和全屏,我得到设备尺寸并将其分配给视频播放器
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getRealSize(size);
int w=size.x;
int h=size.y;
videoPlayer.setFixedSize(w, h);
另一答案我想你不能隐藏android 4.0中的系统栏> (仅限平板电脑,你应该可以在手机中)
你可以做的是隐藏图标并禁用一些按钮(除了家庭以外的所有人)
你可以试试这个:
if (android.os.Build.VERSION.SDK_INT >
= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
}
还用于禁用按钮:
这是用于后退按钮:
public boolean onKeyDown(int keyCode, KeyEvent event) {
return false;
}
这个菜单:
@Override
public void onWindowFocusChanged(boolean hasFocus) {try
{
if(!hasFocus)
{
Object service= getSystemService("statusbar");
Class<
?>
statusbarManager = Class.forName("android.app.StatusBarManager");
Method collapse = statusbarManager.getMethod("collapse");
collapse .setAccessible(true);
collapse .invoke(service);
}
}
catch(Exception ex)
{
}}
另一答案视频播放器通过设置全屏运行
myView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
在
setFlags()
之前的setContentView(View)
这将显示任何用户交互的系统栏,就像视频播放器一样。
您可以全屏运行应用程序的最近方法是设置为Lights Out模式,系统按钮将显示为点。
要使用熄灯模式,只需使用活动中的任何视图并致电即可
anyView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
对于隐藏导航栏,请在
onStart()
中使用此选项,以便每次进行该活动时,它将处于全屏模式。getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
我希望这有帮助 !
另一答案Android版本:4.2.2- 设备:Vega平板电脑
Android App隐藏状态和系统栏并显示完整的屏幕我按照这些步骤操作。
AndroidManifest.xml中
<
application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<
activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<
intent-filter>
<
action android:name="android.intent.action.MAIN" />
<
category android:name="android.intent.category.LAUNCHER" />
<
/intent-filter>
<
/activity>
<
/application>
main activity.java
super.onCreate(savedInstanceState);
getWindow().getDecorView().setSystemUiVisibility(0x10);
setContentView(R.layout.activity_main);
上面的代码完全适合我的应用程序。
另一答案转到您的清单并将其添加到您的活动中
<
activity
android:name="yourPackage.yourActivity"android:theme="@android:style/Theme.Black.NoTitleBar">
推荐阅读
- 将App发送回最近的应用程序堆栈android
- 当用户关闭屏幕android时,使应用程序正常工作
- 我没有在我的Android回收站视图中看到mp3文件名,而是看到了他们的链接
- Android - Firebase addChildEventListener触发器[重复]
- Android微调器没有显示Firebase实时数据库数据()
- Android通知会多次打开,而不是只打开一次
- 如何使用firebase作为数据库在android中获取附近的用户名()
- Android(从运行时生成的文本字段中将数据保存到Firebase)
- 如何在Firebase中获取用户数作为计数在android TextView中