Câu hỏi ActionBarSherlock - Làm thế nào để thiết lập padding của mỗi biểu tượng của thanh tác vụ?


Làm thế nào tôi có thể làm cho các biểu tượng của thanh hành động sử dụng ActionBarSherlock gần nhau hoặc xa nhau? Cái gì đó như android:layout_marginLefthoặc là android:paddingRight?

Nếu tôi chỉ cần thêm các biểu tượng trên thanh hành động, chúng sẽ được so sánh xa hơn so với ảnh chụp màn hình của Soundhound dưới đây:

SoundHound

của tôi themes.xml:

<style name="Theme.AstraTheme_Purple" parent="@style/Theme.Sherlock">
    <item name="actionBarStyle">@style/Widget.AstraTheme_Purple.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.AstraTheme_Purple.ActionBar</item>

    <item name="actionButtonStyle">@style/Widget.AstraTheme_Purple.ActionButton</item>
    <item name="android:actionButtonStyle">@style/Widget.AstraTheme_Purple.ActionButton</item>
</style>

<style name="Widget.AstraTheme_Purple.ActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="android:background">@drawable/purple_bar</item>
    <item name="background">@drawable/purple_bar</item>
</style>

<style name="Widget.AstraTheme_Purple.ActionButton" parent="Widget.Sherlock.ActionButton">
    <item name="android:minWidth">50dip</item>
</style>


11
2018-05-25 18:02


gốc




Các câu trả lời:


<style name="AppTheme" parent="Theme.Sherlock">
    <item name="actionButtonStyle">@style/MyActionButtonStyle</item>
    <item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
</style>

<style name="MyActionButtonStyle" parent="Widget.Sherlock.ActionButton">
    <item name="android:minWidth">32dip</item>
    <item name="android:padding">0dip</item>
</style>

Giá trị mặc định của android:minWidth cho ActionBar nút là 56dip. Đừng quên đặt @style/AppTheme như ActivityChủ đề của.


33
2018-05-29 23:48



Tôi đã thử bao gồm actionButtonStyle về chủ đề hiện tại của tôi, và tôi thậm chí đã tạo một chủ đề mới để kiểm tra nó (và áp dụng nó thông qua Manifest và thông qua setTheme trong phương thức onCreate), nhưng không có gì thay đổi. Tui bỏ lỡ điều gì vậy? Tôi đã chỉnh sửa câu hỏi với themes.xml của mình (tôi đã bao gồm tên mục = "android: actionButtonStyle", không có ý tưởng nếu nó cần thiết hay không). Làm ơn hãy kiểm tra nó - Alex Styl
kỳ dị. Tôi đã thử tạo một dự án mới và thiết lập một chủ đề mới ở đó. Tôi thậm chí còn tải xuống ABS chỉ trong trường hợp có điều gì đó sai với thư viện (vì tôi đã ở 4.0.1 và bây giờ là 4.1), nhưng vẫn không có gì. Tôi đã thử chạy trên các thiết bị thực, và giả lập và không có gì thay đổi ... Có lẽ nó chỉ là kết thúc của tôi và tôi cần phải thay đổi một cái gì đó khác ngoài những thứ tôi đã viết ở trên ... Dù sao, cảm ơn rất nhiều cho câu trả lời - Alex Styl
@matthias Làm thế nào về thiết lập kích thước biểu tượng nút hành động? là nó có thể quá? - Roy Lee
<item name = "android: actionButtonStyle"> @ style / MyActionButtonStyle </ item> yêu cầu api 11 - J. K.
@J. Kowalski: Đó là lý do tại sao có thêm <item name="actionButtonStyle"> cho thấp hơn API 11. Những gì bạn đang đề cập đến chỉ là một cảnh báo lint. Để hoàn toàn chính xác, bạn sẽ phải tạo res-v11/styles.xml với các thuộc tính như android:actionButtonStyle. Nhưng bạn cũng có thể bỏ qua cảnh báo lint vì Android cũng bỏ qua các thuộc tính như vậy trên các API cũ hơn. - Matthias Robbers