問題タブ [android-statusbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Android は java.lang.ExceptionInInitializerError を指定してステータス バーの高さを取得します
追加情報 (以下の元の質問)
コメント セクションの @ρяσσρєяK のアドバイスに従った後、別のファイル ( SizeNotifierRelativeLayout.java
) で同じエラーが発生し、エラーは 44 行目で発生しますsuper.onLayout(changed, l, t, r, b);
。このファイルと logcat のコードは次のとおりです。
SizeNotifierRelativeLayout.java
ログキャット
元の質問->ステータスバーの高さを取得する機能があり、
致命的な例外: main java.lang.ExceptionInInitializerError
エラーは、MyActivity
呼び出し時に設定されます
関数対応エラー:
com.app.name.AndroidUtilities.(AndroidUtilities.java:31) で
は
私は Android と Java に比較的慣れていないので、不足しているものについてのポインタをいただければ幸いです。ありがとう!
MyActivity.java
App.java
AndroidUtilities.java
ログキャット
android - 没入型モード - ステータス バーのみを非表示 + ユーザーの操作なしでしばらくするとステータス バーを再度非表示
上部と下部に 1 つずつ、2 つのツールバーを持つアクティビティがあります。私は反転モードを使用していますが、これで問題なく動作し、ユーザーはステータスバーを下にドラッグできます...
問題は、ステータスバーを下にドラッグした後、二度と非表示にならないことです...
ここでいくつかの解決策を見つけましたが、うまくいきませんでした。ステータスバーがビューの上に表示されるか、オーバーフローメニューを開くとめちゃくちゃになるか、再び非表示にならない...
これは私が現在使用しているものです:
私が欲しいもの
- ユーザーがステータスバーを下にドラッグするまで常にフルスクリーン
- たとえば 3 秒後に、ステータス バーが開かれていない場合は、ステータス バーを再び非表示にする必要があります。
- ステータスバーを閉じた後、再び非表示にする必要があります
- ツールバーでオーバーフロー メニューを開くと、ステータス バーが表示されない
java - java.lang.NullPointerException を与えるカスタム android レイアウト
私はAndroidプログラミングに比較的慣れていないため、コード内の次のエラーの原因を検出するのにいくつかの困難に直面しています:
10-18 18:15:45.083 31605-31605/? W/System.err? com.app.name.widgets.SizeNotifierRelativeLayout.onLayout (SizeNotifierRelativeLayout.java:43) 10-18 18:15:45.092 31605-31605/? E/AndroidRuntime? 致命的な例外: main java.lang.NullPointerException
com.app.name.widgets.SizeNotifierRelativeLayout
xml ファイルによって呼び出されるカスタム レイアウトを使用しています。エラーは、super.onLayout(changed, l, t, r, b);
次の関数のコードを含む 43 行目で発生します。
調査の結果、オブジェクトを作成せずに変数を宣言した結果、NullPointerExceptionエラーが発生することがわかりました。しかし、私はJavaが初めてなので、エラーが発生した場所を特定するのは少し難しいです. 親切に私を正しい方向に向けてください。本当に感謝します。以下は、私のアクティビティ、レイアウト、SizeNotifierRelativeLayout ファイルと logcat です。前もって感謝します。
アクティビティ.java
activity_view.xml
SizeNotifierRelativeLayout.java
ログキャット
10-18 18:51:12.154 712-712/? W/System.err? com.app.name.widgets.SizeNotifierRelativeLayout.onLayout (SizeNotifierRelativeLayout.java:43) 10-18 18:51:12.164 712-712/? E/AndroidRuntime? 致命的な例外: Android.widget.ListView.fillDown(ListView. java:678) で android.widget.ListView.fillFromTop(ListView.java:739) で android.widget.ListView.layoutChildren(ListView.java:1664) で android.widget.AbsListView.onLayout(AbsListView.java:2050) でandroid.view.ViewGroup.layout(ViewGroup. 800) で android.os.Handler.dispatchMessage(Handler.java:100) で android.os.Looper.loop(Looper.java:194) で android.app.ActivityThread.main(ActivityThread.java:5370) で java. lang.reflect.Method.invokeNative(ネイティブ メソッド) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) dalvik.system.NativeStart.main(ネイティブ メソッド) 10-18 18:51:12.169 549-1386/? アクティビティマネージャー付き? 強制終了アクティビティ com.app.name/.Activity 194) android.app.ActivityThread.main(ActivityThread.java:5370) で java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で java.lang.reflect.Method.invoke(Method.java:525) で com .android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) で dalvik.system.NativeStart.main(ネイティブ メソッド) 10-18 18:51:12.169 549-1386/? アクティビティマネージャー付き? 強制終了アクティビティ com.app.name/.Activity 194) android.app.ActivityThread.main(ActivityThread.java:5370) で java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で java.lang.reflect.Method.invoke(Method.java:525) で com .android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) で dalvik.system.NativeStart.main(ネイティブ メソッド) 10-18 18:51:12.169 549-1386/? アクティビティマネージャー付き? 強制終了アクティビティ com.app.name/.Activity ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) で dalvik.system.NativeStart.main(ネイティブ メソッド) 10-18 18:51: 12.169 549-1386/? アクティビティマネージャー付き? 強制終了アクティビティ com.app.name/.Activity ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) で dalvik.system.NativeStart.main(ネイティブ メソッド) 10-18 18:51: 12.169 549-1386/? アクティビティマネージャー付き? 強制終了アクティビティ com.app.name/.Activity
android - ステータスバーのみに FLAG_LAYOUT_NO_LIMITS を設定できますか?
透明なステータス バーを作成する必要があります。私は使用getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
しており、ステータスバーを好きなようにしています。ただし、ナビゲーション バーにも影響します。透明になり、getWindow().setNavigationBarColor(Color.BLACK)
何もしません。
透明なステータス バーのみを作成し、ナビゲーション バーを作成しない方法はありますか?
android - Androidはステータスバーの後ろに描画しますが、ナビゲーションバーの後ろには描画しません
ステータスバーが半透明ではなく完全に透明で、ナビゲーションバーがそのまま残される方法を検討しています。
私が得ることができる最も近いのは、フラグを使用することです
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
ただし、これはナビゲーション バーの背後にも描画されます。
これを難しくしているのは背景です。これは微妙なグラデーションです。ステータス バーの色をグラデーションの始点に設定すると、ほとんど正しいように見えますが、画面の上部に微妙な線が表示されます。
上部のみにアクティビティをウィンドウに合わせる良い方法はありますが、下部にナビゲーションバーがある場合はそのままにしておきますか?
android - 投稿/削除された通知がグループに属していることを認識する
StatusBarNotifications (StatusBar に表示される) がグループ (メールやメッセージなど) に固有のものであるかどうかを確認するために、 NotificationListenerServiceで遊んでみます。SDK >= 21 を使用しています。
fb、whatsapp、gmail などのよく知られているアプリケーションで遊んでみると、グループ化されたメッセージをマークするためのさまざまなルールが見られました ( StatusBarNotificationのグループとキーのプロパティは、この目的のために管理するのはそれほど簡単ではありません)。
投稿/削除された通知がグループに属していることをどのように認識できますか? グループヘッダーはどれですか?