###回答
自分で専用のレイアウトを作ってください。
###サンプル
サンプルを示します。Kotlin で書いていますが、Android でも同様です。
custom_spinner_item というレイアウトを作り、それを使う形にしています。
Kotlin
1package com.example.myapplication
2
3import android.os.Bundle
4import android.support.v7.app.AppCompatActivity
5import android.widget.ArrayAdapter
6import android.widget.Spinner
7
8class MainActivity : AppCompatActivity() {
9
10 override fun onCreate(savedInstanceState: Bundle?) {
11 super.onCreate(savedInstanceState)
12 setContentView(R.layout.activity_main)
13
14 var exampleSpinner: Spinner = findViewById(R.id.exampleSpinner)
15 var adapter = ArrayAdapter<String>(
16 this,
17 // ここで Spinner 用のカスタムレイアウトを割り当てる。
18 R.layout.custom_spinner_item,
19 arrayOf(
20 "12345678901234567890123456789012345678901234567890",
21 "12345678901234567890123456789012345678901234567890",
22 "12345678901234567890123456789012345678901234567890"
23 )
24 )
25 // ここでドロップダウン用のカスタムレイアウトを割り当てる。
26 adapter.setDropDownViewResource(R.layout.custom_spinner_item)
27 exampleSpinner.adapter = adapter
28 }
29}
30
以下はレイアウトです。@android:id/text1 のところに対象のテキストが設定されます。
xml
1<?xml version="1.0" encoding="utf-8"?>
2<TextView xmlns:android="http://schemas.android.com/apk/res/android"
3 android:id="@android:id/text1"
4 style="?android:attr/spinnerItemStyle"
5 android:layout_width="match_parent"
6 android:layout_height="wrap_content"
7 android:textAlignment="inherit"/>
###備考
Spinner のデフォルトのレイアウトは android.R.simple_spinner_item / android.R.simple_spinner_dropdown_item です。
このレイアウトに文字が多かったら省略表記をするという設定が書かれているために現在そうなっています(具体的には android:singleLine="true" android:ellipsize="marquee")。
ArrayAdapter 作成時にカスタムレイアウトを指定できるので設定してしまえば好きなようにできます。
サンプルでは android.R.simple_spinner_item から android:singleLine="true" android:ellipsize="marquee" を消したものを使っています。
###参考
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/07 05:25