我想更改Android中的状态栏颜色(我使用6.0进行测试).我尝试了状态栏插件和我找到的所有解决方案,但没有任何效果.
这包含在我的config.xml中<widget>
:
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarBackgroundColor" value="#BE1912" />
Run Code Online (Sandbox Code Playgroud)
我的index.js不包括:
if (window.cordova && StatusBar)
{
StatusBar.backgroundColorByHexString('#3399FF');
}
Run Code Online (Sandbox Code Playgroud)
添加了每个包名称和github repo的插件.
到目前为止没有任何工作......
提前致谢!:)
javascript android cordova cordova-plugins android-statusbar
我试图在状态栏完全透明的应用程序中显示进行活动。我将此添加到我的样式中:
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
Run Code Online (Sandbox Code Playgroud)
但是由于某种原因,我中的所有视图都显示在状态栏下方。所有视图都与parent对齐app:layout_constraintTop_toTopOf="parent"
。
android android-support-library android-statusbar android-constraintlayout
有没有办法扩展/折叠Android手机的状态栏ADB
?
我正在使用 Android Studio 创建一个全屏应用程序。我使用了Android Studio提供的FullScreenActivity模板。
它可以完美地切换全屏模式,只是从全屏返回时,活动内容的顶部向上偏移了一些像素(类似于状态栏的高度)。
以下是不同阶段的屏幕截图:全屏前、全屏时、全屏返回。当我打开布局边界设置的显示时,您可以看到作为视图边界的红色矩形。
从全屏返回后:操作栏的底部与内容的顶部不重叠,这就是问题,内容的顶部似乎向上移动。
为什么会发生这种情况以及我该如何解决它?请帮我一下,谢谢
全屏活动.java
import android.annotation.SuppressLint;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;
/**
* An example full-screen activity that shows and hides the system UI (i.e.
* status bar and navigation/system bar) with user interaction.
*/
public class FullscreenActivity extends AppCompatActivity {
/**
* Whether or not the system UI should be auto-hidden after
* {@link #AUTO_HIDE_DELAY_MILLIS} milliseconds.
*/
private static final boolean AUTO_HIDE …
Run Code Online (Sandbox Code Playgroud) android android-layout android-view android-fullscreen android-statusbar
我发现,如果父布局包含android:fitsSystemWindows="true"
,当发生与视图相关的操作时,它将干扰我的BottomSheets定位.
特别是我遇到的那个:文本视图中的换行符将触发底部表格偏移系统/通知栏的高度.
newline + fitsSystemWindows =推倒我的底部表格
我删除了所有不相关的东西到按钮,textview和底部表格.
setText("1\n2")
是魔术发生的地方一旦我删除 android:fitsSystemWindows="true"
,它一切正常,没有更奇怪的行为,但我失去了systemSystemWindows颜色在系统/通知栏中的效果.
我也尝试给自己的bottomSheet布局android:fitsSystemWindows="false"
,但它没有任何效果.
如何在我的bottomSheets上没有这种奇怪的偏移行为的情况下如何实现fitsSystemWindows = true?
public class Test extends AppCompatActivity {
private BottomSheetBehavior bottomSheetBehavior;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_test);
LinearLayout bottomSheet = (LinearLayout) findViewById(R.id.root_btmsheet);
bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
bottomSheet.post(new Runnable() {
@Override
public void run() {
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
});
((Button) findViewById(R.id.btn1)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((TextView) findViewById(R.id.info1)).setText("1");
}
});
((Button) findViewById(R.id.btn2)).setOnClickListener(new View.OnClickListener() {
@Override
public void …
Run Code Online (Sandbox Code Playgroud) 我有一个问题,状态栏不会变成半透明.半透明状态栏和导航条形码本身可以正常工作,但是,当我将Google Maps Fragment实施到活动视图中时,半透明条形变为灰色.我已经使用完全透明的状态栏对其进行了测试,但最初会再次运行,然后在添加地图后会显示白色背景.好像谷歌地图有某种叠加效果.任何帮助都可以通过Google Maps API获得状态栏的半透明效果.
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.mapwithmarker.MapsMarkerActivity"
tools:layout="@layout/activity_main" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
Run Code Online (Sandbox Code Playgroud) java android android-xml google-maps-android-api-2 android-statusbar
我想知道是否有办法在应用程序启动时隐藏 Android 设备的软键(状态和导航栏)?以一个游戏为例,它最初显示黑屏,同时在运行时隐藏品牌、标题和主菜单屏幕之前的软键。
我在我的 MainActivity 中包含了以下代码片段,当应用程序启动时,我最初在运行时看到一个带有软键的白屏大约一秒钟,然后当 MainActivity 的线程完成运行时软键消失:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
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);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢一堆。
* 2017 年 1 月 19 日更新:* 包括:
<item name="android:windowFullscreen">true</item>
Run Code Online (Sandbox Code Playgroud)
...进入应用程序的主题,只有状态栏按时隐藏,而不是导航栏。我的第二篇文章 -在应用启动时立即隐藏导航栏
android runtime launch android-statusbar android-navigation-bar
我adjustPan
在我的应用程序中使用了一些问题,因为它不能正常工作.其他一些用户也遇到过这个问题,所以我认为分享这个问题很重要(单击EditText时布局不会向上移动).
注意:我使用的是Android Studio,而我正在使用"即时应用",因此文件的位置会有所不同.
当我adjustPan
在布局中使用时,我的活动不会向上移动到EditText
软键盘上方显示的位置(请参阅图像详细信息).无论您是在Manifest文件还是Java文件中使用它,都会出现相同的结果.
不仅如此,最奇怪的部分是状态栏变得透明,而应该在通知图标后面的深蓝色条有点下降(参见图像详细信息).
我尝试过多次尝试解决这个问题,比如使用adjustResize
,setOnTouchListener
但我收到的这两个答案都没有解决这个问题.
我仍然无法弄清楚这个问题的原因,所以关于如何发现这个问题的原因的任何答案或评论也没关系.
这是我的一些代码:
清单文件:
<activity
android:name=".Input_Activity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
Run Code Online (Sandbox Code Playgroud)
Java文件:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
public class Input_Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input__activity);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
}
}
Run Code Online (Sandbox Code Playgroud)
XML文件:
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Input_Activity">
<EditText
android:layout_width="214dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:inputType="number|numberDecimal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.585"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.725" /> …
Run Code Online (Sandbox Code Playgroud) android android-edittext window-soft-input-mode adjustpan android-statusbar
如何动态隐藏状态和导航栏彻底?
该应用程序包含一个带有应用栏/工具栏和 FAB 按钮的常规导航抽屉。
当切换到全屏模式,在内容的导航和状态栏的滚动了。屏幕上留下两个空条。我想要隐藏那些空条。
我创建了一个最小的演示应用程序。左侧是常规应用程序。当推动晶圆厂时,应用程序应该全屏显示。
我怎样才能让酒吧隐藏?
问题:请写出最小演示项目中需要哪些更改?
更新了第二个解决方案:
@Roaim 提供的 GREAT 解决方案有效。必要的是将android:fitsSystemWindows布局属性设置为 false。
如果您仍然无法显示和隐藏状态/导航栏,此解决方案可能会对您有所帮助。
完全隐藏条形:
public static void hideSystemUI() {
if (getSupportActionBar() != null) {
getSupportActionBar().hide();
}
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE
| 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);
}
Run Code Online (Sandbox Code Playgroud)
并显示所有条:
public static void showSystemUI() {
if (getSupportActionBar() != null) {
getSupportActionBar().show();
}
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
}
Run Code Online (Sandbox Code Playgroud) android-layout android-actionbar android-fullscreen android-statusbar android-navigation-bar
android ×9
android-view ×2
adb ×1
adjustpan ×1
android-xml ×1
cordova ×1
java ×1
javascript ×1
launch ×1
runtime ×1
shell ×1