【发布时间】:2015-06-12 20:24:28
【问题描述】:
目前我有以下 style.xml
更新 - 包括所有相关样式
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionBarStyle">@style/MyActionBarStyle</item>
<item name="actionDropDownStyle">@style/MyDropDownStyle</item>
</style>
<style name="MyActionBarStyle" parent="Widget.AppCompat.ActionBar.Solid">
<item name="android:actionBarDivider">@null</item>
<item name="background">@drawable/logo</item>
<item name="displayOptions">showHome</item>
</style>
<style name="MyDropDownStyle" parent="Base.Widget.AppCompat.Spinner.DropDown.ActionBar">
<item name="android:paddingLeft">240dp</item>
<item name="android:dropDownHorizontalOffset">240dp</item>
<item name="android:background">@android:color/transparent</item>
</style>
这使我可以将 DropDown 240dp 设置为远离其 X 轴,效果非常好。请参阅屏幕截图 #1
截图 #1
但作为副作用,这种填充会在弹出窗口本身的右侧产生一个空白“空格”。见截图#2
截图 #2
如何设置 Popup 的固定大小或忽略 DropDown 样式设置的填充?
更新
paddingLeft 的原因是不与 logo 重叠(定义为背景)
<item name="background">@drawable/logo</item>
更新 2 - 没有 dropDownHorizontalOffset 样式的屏幕截图
PS:
dropDownHorizontalOffset仅用于设置Popup匹配的X轴匹配paddingLeft
【问题讨论】:
-
虽然我不明白你为什么想要这样的填充,菜单弹出不应该是这样的。发布更多与之相关的代码,以便我们提供帮助(样式等)。如果您删除
android:dropDownHorizontalOffset会怎样? -
嗯,我已经注意到android开发是-ne无障碍开发。我很确定我只需要知道如何设置弹出样式(如宽度)来解决问题 - 有什么建议吗?
-
对不起,我不知道您是如何在左侧弹出菜单的... 使用 AppCompat?工具栏?任何基本主题?
-
当tabs imo的空间较小时,此弹出窗口是AppCompat主题的默认行为 - 我还没有添加任何其他布局
-
AppCompat 是否不推荐使用下拉选择器/选项卡?我相信是的。我知道没有解决方法,抱歉。
标签: android android-layout android-styles