1

Я использую Action Bar. В котором с помощью spinner я хочу, чтобы заголовок должен был быть изображением/значком, а элемент с возможностью выбора должен быть текстовым, и после нажатия на иконку будут отображаться субтитры . Я хочу иметь только значок в ActionBar и раскрывающийся список/spinner, чтобы появляться при нажатии на значок. Есть пример Spinner in action bar with only icon but not the selected option, но не решает мою проблему. Я хочу иметь только значок в ActionBar и раскрывающийся список/счетчик, чтобы появиться при нажатии на значок. Новый в Android.Help Me.Название Spinner должно быть изображением и субтитрами для текста

ответ

0

На setOnItemSelected Listener,

вы могли бы написать

if (((TextView) view) != null) { 
     ((TextView) view).setText(null); 
} 

Таким образом, вы будете иметь только значок отображается, а не текст. И установите фон на значок, который вы хотите удалить.

Надеюсь, что это поможет.

0

Вам нужно сделать одну кнопку и установить любое изображение в качестве фона. Затем нажмите кнопку вызова Spinner.performClick(), чтобы открыть счетчик.

Ниже приведен код для реализации того же самого. В XML-файле:

 <Button 
     android:id="@+id/font" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical" 
     android:layout_marginLeft="50dp" 
     android:layout_weight="0.5" 
     android:background="@drawable/textsel" /> 

    <Spinner 
     android:id="@+id/spin" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical" 
     android:layout_marginLeft="10dp" 
     android:layout_weight="0.5" 
     android:dropDownHorizontalOffset="0dp" 
     android:dropDownVerticalOffset="20dp" 
     android:dropDownWidth="500dp" 
     android:paddingTop="2sp" 
     android:spinnerMode="dropdown" > 
    </Spinner> 

В классе Java:

 Spinner spin = (Spinner) findViewById(R.id.spin); 

     Button typetext = (Button) findViewById(R.id.font);  


     typetext.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      spin.performClick(); 

     } 
    });