[解決済み】ActionBarの高さを取得する方法は?
2022-04-14 23:49:25
質問
の高さを取得しようとしています。
ActionBar
(Sherlockを使用して) アクティビティが作成されるたびに (ActionBarの高さが変わる可能性のある回転時の構成変更を処理するために特別に)作成されます。
このために、私はメソッド
ActionBar.getHeight()
のときだけ機能します。
ActionBar
が表示されます。
最初のアクティビティが初めて作成されたとき、そのアクティビティから
getHeight()
の中で
onCreateOptionsMenu
のコールバックです。しかし、このメソッドの後に呼び出されることはありません。
そこで質問なのですが、いつgetHeight()を呼び出せば0を返さないことが保証されるのでしょうか? または、それが不可能である場合、私はどのようにActionBarの高さを設定することができますか?
どのように解決するのですか?
ActionBarのサイズを明示的に制御したい場合は@birdyさんの回答も選択肢に入りますが、サポートドキュメントで見つけた、サイズをロックせずに引き上げる方法があります。 少し厄介ですが、私の場合はうまくいきました。 この例では、アクティビティで有効です。
// Calculate ActionBar height
TypedValue tv = new TypedValue();
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
{
int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}
コトリン :
val tv = TypedValue()
if (requireActivity().theme.resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
val actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, resources.displayMetrics)
}
関連
-
[解決済み] カスタムアダプタからnotifyDataSetChangeが機能しない
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidで画面の大きさをピクセル単位で取得する方法
-
[解決済み] ViewPagerとフラグメント - フラグメントの状態を保存する正しい方法は何ですか?
-
[解決済み] FragmentのsetRetainInstance(boolean)を理解する。
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android: Intent エラーを処理するアクティビティは見つかりませんでしたか?どのように解決するのか
-
[解決済み】java.lang.RuntimeException: アクティビティを開始できない ComponentInfo
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み】Dalvikとdalvik-cacheとは何ですか?
-
[解決済み】Build Tools リビジョン 23.0.1 の検索に失敗しました。
-
[解決済み】Android Studioで最新バージョンのgradleを使用する方法
-
[解決済み】アクティビティにない場所でのgetLayoutInflater()の呼び出し
-
[解決済み] SDKの場所がandroid studioで見つからない
-
[解決済み] Android SDK の場所には空白を含めないでください。NDK ツールで問題が発生するためです。
-
[解決済み] Android Fragment no view found for ID?