私はこのことを理解するのにとても時間がかかりました。
最終的にAndroid Device Monitorを使用することになりました。私はツール> Android> Androidデバイスモニターに行きました。起動したら、「デバイス」タブで自分のアプリのパッケージ名をクリックしてから、「UI Automatorのビュー階層をダンプする」ボタンをクリックしました。 [デバイス]タブをクリックします。これにより私の現在の画面のUIがわかりました。次に、「更新」ボタンをクリックして、2つのビューが隣り合っていないことを発見できました。それはDrawableLeftを持つTextView 1つでした。私は知っている、私が知っている、それは明らかであり、私が考えた最初のものであったはずです。
私はすでにActionBarSherlock - How to set the padding of each actionbar's icon?を見つけましたが、それは私のためには機能しませんでした。しかし、これは私に必要なものの例を与えました。つまり、ActionButtonスタイルを変更しました。
私はそれがDrawableLeftを持つTextViewであることを知ったので、私はDrawablePaddingを変更する必要があることを知っていました。それが私がスタイルに加える必要があった変更です。私は私のstyles.xmlにこれを追加するために必要なActionButtonのテーマを変更するには
:
<style name="ActionButton" parent="@android:style/Widget.ActionButton">
<item name="android:drawablePadding">@dimen/action_button_padding</item>
</style>
dimen.xml:次に
<dimen name="action_button_padding">4dp</dimen>
style.xmlのテーマセクションに微調整:
<style name="Theme.MyTheme"
parent="Theme.AppCompat.Light.NoActionBar">
<!-- other styles -->
<item name="android:actionButtonStyle">@style/ActionButton</item>
</style>
これは機能します。カスタムActionProviderを設定したり、画像を編集して画像ファイルにスペースを追加したり、各ボタンに余分なXMLファイルを使用する必要はありません。
あなたはアイテム間の距離を増やすことができます。しかし、それを減らすことはできません。負の-10dpまたは-30dpは効果がありません。どのように減らすことができますか?とにかく仕事をしてくれてありがとう! :) – careful7j