問題タブ [xiaomi]
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 - バックグラウンド サービスが MIUI 9.6 Redmi 4x で動作しない
バックグラウンド サービスが機能しない理由を理解するために、Web 全体を検索してきました。アプリケーションを閉じると、サービスは Brodcast レシーバーからコールバックされずに強制終了されます。このガイド : https://www.quora.com/How-do-I-keep-an-app-running-in-the-background-in-MIUIには 3 つの異なる方法が示されていますが、どれもうまくいきません。同じ API 24 のエミュレーターで正常に動作し、同じ API である huawei でも動作したため、アプリケーションは完全に動作していると確信しています。
XML
サービス
android - Android Studio ではデバイスが null として認識されます
Ubuntu Android Studio では、デバイスが null として表示されます。ラップトップの電源を入れるたびに、次のコンソール コマンドを実行してアクセス許可を追加する必要があります。
パスワードを入力してから、次の手順を繰り返します。
私はxiaomi電話を使用していることに注意してください。
この許可の問題を回避する方法はありますか?
android - AlertDialog を画面の端近くに表示する方法
AlertDialog
ほとんどの Android デバイスで正常に動作しています。ダイアログはそのレイアウトで下から表示され、画面の下端近くに描画されます。ただし、Xiaomi Mi 8 デバイスでは、ダイアログが下端の上に表示されます。このデバイスは画面の角が丸くなっており、ダイアログはそれを避けようとしていると思います。しかし、これは審美的にひどく悪いように見えます。画面の隅に関係なく、すべてのデバイスで画面の端近くに表示されるようにダイアログを作成するにはどうすればよいですか?
残念ながら、stackoverflow は角の丸いダイアログを作成することに関する質問でいっぱいで、役立つものは何も見つかりません。最も近いのはステータスバーに関するこの質問AlertDialog
でしたが、そこにある提案は Mi8のダイアログの動作を変更しませんでした。
問題を紹介するために、最小限のサンプル プロジェクトを作成しました。コミット 763bc62ff9320227b806260e861b63d48cc2347dで、次のスクリーンショットはMi8の問題を示しています。フル スクリーン モードでは、ダイアログが画面の端からはみ出してしまい、上部のオーバーレイでも奇妙なことをしているように見えます。
Xiaomi Mi8 は、AlertDialog がフローティングとして宣言されているため、AlertDialog を画面の隅の上に押し出しています。スタイルをwindowIsFloating = false
ダイアログに変更すると、画面の端近くに表示されます。
残念ながら、この解決策は Xiaomi では機能しますが、アニメーション中に黒いバーが表示される別の Samsung SM-J530F では機能しません。
アニメーションの黒いバーを避けるために、私が見つけた唯一の方法は、windowFullScreen = true
. ただし、この値が true に設定されている場合、Xiaomi は奇妙なステータス バー アニメーションを作成します。
いくつかのハードコードされた条件に頼ることなく、この単純なアニメーションをすべての Android デバイスで一貫させる方法はありますか?
更新: 提案されているように、ダイアログをアニメーション化する代わりに、コミット 403808dcfb5d3fae52c51eb1b21593b79065ada7でダイアログをアニメーション化しないように変更し、制約レイアウト セットを使用してボタンを自分で移動しました。