相关疑难解决方法(0)

如何在Android中自定义Spinner

我想在a的下拉列表中添加一个自定义高度Spinner,比如30dp,我想隐藏下拉列表中的分隔符Spinner.

到目前为止,我尝试实现以下样式Spinner:

<style name="spinner_style">
        <item name="android:paddingLeft">0dp</item>
        <item name="android:dropDownWidth">533dp</item>
        <item name="android:showDividers">none</item>
        <item name="android:dividerHeight">0dp</item>
        <item name="android:popupBackground">@drawable/new_bg</item>
        <item name="android:dropDownHeight">70dp</item>
        <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item>
        <item name="android:dropDownSelector">@android:color/white</item>
 </style>
Run Code Online (Sandbox Code Playgroud)

我的微调器的代码是:

<Spinner
            android:id="@+id/pioedittxt5"
            android:layout_width="543dp"
            android:layout_height="63dp"
            android:layout_toRightOf="@+id/piotxt5"
            android:background="@drawable/spinner"
            style="@style/spinner_style"
            android:dropDownVerticalOffset="-53dp"
            android:spinnerMode="dropdown"
            android:drawSelectorOnTop="true"
            android:entries="@array/travelreasons"
            android:prompt="@string/prompt" />
Run Code Online (Sandbox Code Playgroud)

但似乎没有任何效果.

android android-layout android-spinner

134
推荐指数
4
解决办法
36万
查看次数

Android:自定义微调器布局

我正在尝试制作一个完全自定义的微调器.我在按下它时弹出布局时遇到了困难.这是我的适配器的代码:

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.my_array, R.layout.spinnertext);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

根据我在文档中看到的内容,布局使用了由行设置的apears:

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)

虽然每次我将其更改为我制作的新布局时,当我尝试使用微调器时,它会使应用程序失败.我试图寻找"android.R.simple_spinner_dropdown_item"的样子,以便弄清楚我是否可能遗漏任何东西.

我尝试过的所有布局都是线性或相对布局,只有textView.

如何在选择微调器时弹出自定义布局?

android android-layout

12
推荐指数
1
解决办法
4万
查看次数

Spinner项目的自定义布局

我在警告对话框中有一个微调器.我想减少微调器项之间的填充,因此我实现了以下内容:

spinner_row.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:background="#fff" >

    <TextView
        android:id="@+id/tvCust"
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:gravity="left|center_vertical"
        android:textColor="#000"
        android:textSize="15sp" />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_alignParentRight="true" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

活动代码包含以下内容

spinner= (Spinner) dialog.findViewById(R.id.spinner);
String arr[] = { "1", "2", "3" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
CameraActivity.this, R.layout.spinner_row, R.id.tvCust,arr);
spinner.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

现在您可以在下面的屏幕截图中看到,单选按钮显示在微调器上,实际上是旋转器的一部分spinner_row.xml.请注意,textview宽度为200dp,而微调器的长度仅为130dp,因此不应在微调器上显示单选按钮.我该如何删除它?

此外,当我单击任何微调器项时,微调器弹出窗口不会按预期消失.(注意在微调器项目列表中检查所有3个复选框).setOnItemSelectedListener未点击项目点击.

任何帮助赞赏.

截图

编辑1

根据farrukh的建议,我尝试了他的代码,结果如下.

截图

android android-layout android-alertdialog android-spinner

10
推荐指数
1
解决办法
3万
查看次数

为什么Android在我的SpinnerAdapter中回收错误的视图类型?

我正在尝试制作一个具有分隔符的ActionBar微调器.我实现了一个SpinnerAdapter有2个项目视图类型(感谢getViewTypeCount).问题是我convertViews从另一种类型发送了一些.

这是我的SpinnerAdapter:

public abstract class SeparatorSpinnerAdapter implements SpinnerAdapter {
    Context mContext;
    List<Object> mData;
    int mSeparatorLayoutResId, mActionBarItemLayoutResId, mDropDownItemLayoutResId, mTextViewResId;

    public static class SpinnerSeparator {
        public int separatorTextResId;

        public SpinnerSeparator(final int resId) {
            separatorTextResId = resId;
        }
    }

    public abstract String getText(int position);

    public SeparatorSpinnerAdapter(final Context ctx, final List<Object> data, final int separatorLayoutResId, final int actionBarItemLayoutResId,
            final int dropDownItemLayoutResId, final int textViewResId) {
        mContext = ctx;
        mData = data;
        mSeparatorLayoutResId = separatorLayoutResId;
        mActionBarItemLayoutResId = actionBarItemLayoutResId;
        mDropDownItemLayoutResId …
Run Code Online (Sandbox Code Playgroud)

android convertview android-spinner

8
推荐指数
1
解决办法
3931
查看次数