相关疑难解决方法(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万
查看次数

如何以编程方式将字体自定义字体设置为Spinner文本?

我的资产文件夹中有一个ttf字体文件.我知道如何将它用于textviews:

Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf");
textview1.setTypeface(externalFont);
Run Code Online (Sandbox Code Playgroud)

我已经定义了在我自己的xml文件中查找我的微调器文本(如在android中的usuall):

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:textColor="#ffffff"
android:gravity="center" 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
Run Code Online (Sandbox Code Playgroud)

我只是无法从代码中引用此textview,我总是得到空指针异常.我尝试过:

TextView spinner_text=(TextView)findViewById(R.id.text1);
spinner_text.setTypeface(externalFont);
Run Code Online (Sandbox Code Playgroud)

即使我自己的xml中定义的微调器文本,是否可以选择我的外部字体?

谢谢.

编辑回答:

这有效:

String [] items = new String[2];
    items[0]="Something1";
    items[1]="Something2";

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    R.layout.spinaca, items) {

         public View getView(int position, View convertView, ViewGroup parent) {
                 View v = super.getView(position, convertView, parent);

                 Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf");
                 ((TextView) v).setTypeface(externalFont);

                 return v;
         }


         public View getDropDownView(int position,  View convertView,  ViewGroup parent) {
                  View v =super.getDropDownView(position, convertView, …
Run Code Online (Sandbox Code Playgroud)

fonts android spinner android-fonts android-spinner

89
推荐指数
3
解决办法
7万
查看次数

如何更改微调器的图像

如果我们看到一个微调器,它看起来像一个textview,并在textview右侧有一个图像.在摩托罗拉里程碑中,图像是向下箭头而在三星Galaxy ace中它是右箭头.我可以使用以下代码将背景图像设置为微调器.但我不想改变背景图像.我想改变那个形象.如何设置微调器的图像.

Spinner sp1 = (Spinner) findViewById(R.id.spnContactTypes1);
sp1.setBackgroundResource(R.drawable.icon);
Run Code Online (Sandbox Code Playgroud)

android android-spinner

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