旋转选择器中的默认文本填充是多少?

8

我有一个类似于下拉框的Spinner和一个样式相同的TextView。我想要让两者中的文本对齐,但是我不知道Spinner中的文本有多少padding。

图片描述


我认为它应该在5-10dp之间。 - Zeeshan Saiyed
1
我尝试了10dp,但看起来似乎不够。我可以一直尝试直到看起来可以,但我更喜欢精确 :) - SpyZip
1
很难找到完全匹配的填充,但更重要的是在任何分辨率下都能产生完美的效果,无论填充是什么。 - Zeeshan Saiyed
1
我制作了一个自定义的Spinner适配器,并将paddingLeft设置为15dp。并将TextView的padding设置为15dp。这样我就确保它们是相同的。 - SpyZip
3个回答

12

Android样式中,你可以找到一件事情,

<style name="Widget.Holo.TextView.SpinnerItem" parent="Widget.TextView.SpinnerItem">
    <item name="android:textAppearance">@style/TextAppearance.Holo.Widget.TextView.SpinnerItem</item>
    <item name="android:paddingStart">8dp</item>
    <item name="android:paddingEnd">8dp</item>
</style>

它显示填充在startend上每个都是8dp

注意:如果8dp对您来说看起来不足,也许您还应该查找下拉列表本身的填充。例如:Spinner项目的填充量+文本的填充量=您想要的内容

希望这对您有用。


1
Spinner spinner = (Spinner) findViewById(R.id.spinner); 

//simple_spinner_item Specify the spinner TextView

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                    R.array.planets_array, android.R.layout.simple_spinner_item);

// simple_spinner_dropdown_item Specify the dropdown item TextView if not set , and the same as simple_spinner_item  
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);

1
从Spinner获取填充:
        Spinner spinner = new Spinner(context);

        int leftPadding = spinner.getPaddingLeft();
        int topPadding = spinner.getPaddingTop();
        int rightPadding = spinner.getPaddingRight();
        int bottomPadding = spinner.getPaddingBottom();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接