我使用appcompat v7和汉堡包进行箭头切换。 但是,我想在切换的左侧添加一些填充。
这是我目前的情况: http://nl.tinypic.com/r/2a0f712/8
这就是我想要的: http://nl.tinypic.com/r/v3q176/8
我试过这个:
findViewById(android.R.id.home).setPadding(25, 0, 15, 0);
但那并没有奏效。但是,这确实在切换的右侧添加了填充。 我也尝试在样式中添加填充,但这样做也没有。
答案 0 :(得分:1)
AFAIK,该动作在布局资源中是硬编码的。你不能改变填充。 Google这样做是为了保持应用程序猜测的一致性。
但是,您可以使用ur属性(padding和all)在drawable中定义自己的图标,并通过将此行添加到styles.xml中将其用作指示符
<item name="android:homeAsUpIndicator">@drawable/xyz</item>
你所展示的图片实际上是一个工具栏,而不是一个动作栏。在工具栏中,默认情况下将图标放在那里。
要了解有关工具栏及其实现方式的更多信息,请参阅以下链接:http://android-developers.blogspot.in/2014/10/appcompat-v21-material-design-for-pre.html
答案 1 :(得分:1)
我会假设你在某种程度上熟悉造型,并建议你走这条路。仅供参考我没有确认下面的代码是有效的,但我认为它会接近你想要的。
对于res / values-14 / style.xml,如下所示:
<!-- style for Action Bar -->
<style name="MyPaddedActionBar" parent="android:style/Widget.Holo.Light.ActionBarView">
<item name="android:paddingLeft">32dp</item>
<item name="android:paddingRight">32dp</item>
</style>
然后对于14及以下的所有内容,您将使用AppCompat(res / values-14 / style.xml):
<style name="MyPaddedActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:paddingLeft">32dp</item>
<item name="android:paddingRight">32dp</item>
</style>