我想问一下关于Gmail应用程序中的操作栏。android:图标和微调之间的差距
在主要活动中,操作栏(收件箱,发件等)中有一个微调框,并且没有标题。
我在我的应用程序中尝试过,但应用程序图标和微调器之间存在比在Gmail应用程序中更大的差距。
我让标题看起来既不可见又空白,但差距还是有点大。
我必须为操作栏创建自己的视图定义才能达到相同的效果吗?
非常感谢, 马丁
我想问一下关于Gmail应用程序中的操作栏。android:图标和微调之间的差距
在主要活动中,操作栏(收件箱,发件等)中有一个微调框,并且没有标题。
我在我的应用程序中尝试过,但应用程序图标和微调器之间存在比在Gmail应用程序中更大的差距。
我让标题看起来既不可见又空白,但差距还是有点大。
我必须为操作栏创建自己的视图定义才能达到相同的效果吗?
非常感谢, 马丁
谢谢大家的回答。的马蒂亚斯答案领我到下面的解决方案,工作就像一个魅力:
public class ZeroPaddingArrayAdapter<T> extends ArrayAdapter<T> {
public InboxTypeAdapter(Context context, int textViewResourceId, T[] objects) {
super(context, textViewResourceId, objects);
}
public static ArrayAdapter<CharSequence> createFromResource(Context context,
int textArrayResId, int textViewResId) {
CharSequence[] strings = context.getResources().getTextArray(textArrayResId);
return new ZeroPaddingArrayAdapter<CharSequence>(context, textViewResId, strings);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
view.setPadding(
0,
view.getPaddingTop(),
0,
view.getPaddingBottom()
);
return view;
}
}
对于纺纱厂:
getView()
- 获取当前所选项目的视图。 getDropDownView()
- 获取微调控制器打开时显示的视图。
我们只需要减少getView()
中的填充。
只需使用此适配器而不是简单的ArrayAdapter
。
创建具有正确填充为你的动作条图标绘制。
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/logo"
android:right="10dp"/>
</layer-list>
然后只是设置为清单中的图标。你应该可以通过这种方式调整填充。
嗨,听起来很合理,但这并没有给我带来预期的结果:) – MartinCz 2013-03-03 07:56:17
降低Spinner
的填充,在布局中View
即得到在Adapter
的getView()
方法充气的更精确的填充。我只是在一个样本项目中尝试过,它显着缩小了差距。
添加此行spinner.setPadding(0,0,0,0);在打开下拉菜单时隐藏向下箭头图像。
好东西,你在这里发布你的解决方案。但记得upvoting帮助你的答案;) – 2013-03-03 14:38:07
嗨,Matthis。我很乐意,但是我需要15个声望点才能做到这一点,我还没有:-) – MartinCz 2013-03-04 11:48:49
哈哈,完全忘了这一点。干得好 ;) – 2013-03-04 13:31:56