当前位置: 首页 > 知识库问答 >
问题:

java - android spinner 当前选中项如何右对齐?

公羊雅达
2023-11-12

image.png

android spinner 当前选中项如何右对齐?我的代码如下:

 <Spinner    android:id="@+id/houseSituation"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    tools:listitem="@android:layout/simple_spinner_item"    tools:itemCount="3"/>
@Getter@Setterpublic class KeyValueSpinnerAdapter extends ArrayAdapter<KeyValueSpinnerAdapter.Item> {    private final Spinner spinner;    @Data    @Accessors(chain = true)    public static class Item {        // ...    }    public KeyValueSpinnerAdapter(Context context, Spinner spinner, List<Item> items) {        super(context, android.R.layout.simple_spinner_item, items);        this.items = items;        this.spinner = spinner;    }    @NonNull    @Override    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {        TextView textView = (TextView) super.getView(position, convertView, parent);        Item item = this.items.get(position);        textView.setText(item.getName());        return textView;    }}

共有2个答案

宰父宾实
2023-11-12
 <Spinner    android:id="@+id/houseSituation"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    tools:listitem="@android:layout/simple_spinner_item"    tools:itemCount="3"    android:gravity="end"/>

加一个样式 android:gravity="end" 解决。

公羊凌
2023-11-12
Spinner 的对齐问题通常可以通过自定义 Adapter 和布局来解决。以下是一个示例:在 XML 布局中,Spinner 使用 android.R.layout.simple_spinner_item 作为项目布局。这是一个内部 Android 布局,我们无法修改它。但是,我们可以创建自己的自定义布局。例如:

<Spinner

android:id="@+id/houseSituation"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:gravity="center_vertical"android:popupBackground="@color/white"android:spinnerMode="dropdown" />
然后在 Java 代码中,我们创建自定义的 ArrayAdapter:

public class CustomSpinnerAdapter extends ArrayAdapter<String> {

private final Context context;private final int resource;private final List<String> values;public CustomSpinnerAdapter(Context context, int resource, List<String> values) {    super(context, resource, values);    this.context = context;    this.resource = resource;    this.values = values;}@NonNull@Overridepublic View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {    TextView view = (TextView) super.getDropDownView(position, convertView, parent);    view.setGravity(Gravity.CENTER_VERTICAL);    return view;}@Overridepublic View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {    TextView view = (TextView) super.getView(position, convertView, parent);    view.setGravity(Gravity.CENTER_VERTICAL);    return view;}

}

然后在你的 Activity 或 Fragment 中设置这个自定义的 ArrayAdapter:

Spinner spinner = findViewById(R.id.houseSituation);
List<String> values = Arrays.asList("Option 1", "Option 2", "Option 3");
CustomSpinnerAdapter adapter = new CustomSpinnerAdapter(this, android.R.layout.simple_spinner_dropdown_item, values);
spinner.setAdapter(adapter);

 类似资料:
  • 问题内容: 如何将下面的所有内容对齐到最右边? 问题答案: 在渲染HTML表格。您基本上希望将其应用于所呈现的每个元素。使用当前代码,最简单的方法是应用以下代码: 当然,您也可以更加具体,例如,给出自己的规则并在CSS中定义一个规则(该规则将直接应用于呈现的HTML 元素)。 与 您还可以通过属性为每个元素提供自己的类,该属性接受逗号分隔的CSS类名字符串,这些字符串将重复应用于这些元素。如果要对

  • 问题内容: 是否有比使用方法更灵活的“联系人”右对齐方式? http://jsfiddle.net/vqDK9/ 问题答案: 干得好。设置柔性容器上。

  • 例如:如果我有一个“丢弃旧消息”的首选项设置,它指定了需要清理消息的天数。在中,我希望用户看到: “丢弃旧消息”<-title “x天后清理邮件”<-摘要,其中x是当前首选项值 额外的功劳:使它可重用,所以我可以很容易地将它应用到我的所有首选项,而不管它们的类型是什么(这样它就可以使用EditTextPreference,ListPreference等,只需最少的编码量)。

  • 我想处理一个选择菜单的测试场景,其中 spec 将选择一个随机选项,而不是当前选择的选项。我似乎找不到一个有效的定位器或方法可以让我做到这一点。 策略1:获取的当前索引,并从其他索引中随机选择 策略2:获取-获取数组的长度并选择随机数组。此选择器似乎忽略了部分,并返回选项总数 由于我对量角器很陌生,我真的没有看到一种方法来查看API。请问有什么提示吗?

  • 我试图根据选项值返回值。我的目标是返回。right()如果选项不存在,则代码应返回其中一个。左()。我使用Java 8和vavr 0.9.2 我想避免条件叠加 编译器失败并显示此消息

  • 问题内容: 我想在网页上创建一个链接,该链接将关闭浏览器中当前活动的选项卡,而不关闭浏览器中的其他选项卡。 当用户单击关闭链接时,将出现一条警告消息,要求用户使用两个按钮“是”和“否”进行确认。如果用户单击“是”,则关闭该页面,如果“否”,则不执行任何操作。 怎么做到呢?有什么建议么? 问题答案: 您将需要Javascript来执行此操作。用途: 注意: 隐含当前选项卡。这等效于: 或者您可以指定