私の最小およびターゲットsdkが21で、サポートライブラリを使用していません。Androidツールバーが横長モードで高すぎます
私は新しいツールバーウィジェットを使用していますが、一般的には機能していますが、見た目にはちょっとした不具合があります。アクションアイコンはポートレートモードの中央に配置されますが、ランドスケープモードのツールバーは高くなり、アイコンは中央に配置されません。 (行は単に問題をより見やすくするためにある読み取り)スクリーンショットを見てみてください:
- 肖像:
- 風景:
これは何もないように見えるかもしれませんが、アクションが選択されたとき(バーの左端にある「上向き」の矢印のような)、その結果、その下の数ピクセルのストリップが表示されます。私は見た目が好きではありません。
アクティビティは設定の変更自体を管理しません。
これは私のコードです:
のstyles.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyTheme" parent="android:Theme.Material.NoActionBar"> <item name="android:toolbarStyle">@style/MyToolbarStyle</item> </style> <style name="MyToolbarStyle" parent="android:Widget.Toolbar"> <item name="android:background">?android:attr/colorPrimary</item> <item name="android:elevation">2dp</item> </style> </resources>
XMLの使用状況:
私はアンドロイドをいじりみました:minHeightプロパティ属性を設定しますが、saに設定しますy、30dpはちょうどポートレートモードでもアイコンをさらに上に動かしました。
私はこれ見つからなかっ:https://code.google.com/p/android/issues/detail?id=77874 をしかし、誰がそこにあるのattr/actionBarSize ...
すべてであれば、この問題が解決することができますどのように、?スクリーンショットを撮った電話はNexus 6(xxxhdpi)で、アイコンはGoogleアイコンパックからのもので、最大のリソースはxxhdpiです。これは問題ですか?
更新:上記のリンクからの回避策は、android:attr/actionBarSizeを使用するとうまくいきます。しかし、これが唯一の方法ですか?このような新たな光沢のあるコンポーネントに対してこのような回避策が必要な場合は、少し間違っているように見えますが、回避策ではコンポーネントの属性値を新しいものに置き換える必要があります。
あなたの実装をJavaコードで表示できますか? また、私はあなたのスタイルの使用を見ていない? –
これに関連するJavaコードはありません。スタイルはAndroidManifest.xmlにアプリケーション全体のテーマとして設定されているので、アプリのすべてのツールバーには「MyToolbarStyle」スタイルが使用されます。 – wujek
私の意見では、ToolbarはActionBarの使用に慣れているだけでなく、背の高さや他のものなどを表示することができます。 クラシックActionBarは、横向きのサイズで縮小し、アイコンを少し上に移動します。ツールバーを使用すると、アイコンはまだシフトしますが、サイズは指定する限りです。今度は、ツールバーの高さを望むなら、おそらくあなたのコントロールからツールバーのサイズを変更したくないでしょう。 「?android:attr/actionBarSize」だけを指定すると、私にとっては大丈夫です:) – Antimonit