2013-02-28 1 views
0

У меня ArrayAdapter есть строки вертушки элемент, вшрифт изменения элементов роллерных

как изменить код прагматичен

Примечания: Я знаю, что я должен переопределить и реализовать View .. и т.д., но мне нужно более подробно:

Typeface font = Typeface.createFromAsset(getAssets(), "extrafine.ttf"); 



    String array_spinner[]; 
    array_spinner=new String[3]; 
    array_spinner[0]="general"; 
    array_spinner[1]="quisiton"; 
    array_spinner[2]="suggsution"; 

    final Spinner spinner = (Spinner) findViewById(R.id.spinner1); 

     ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
       this, android.R.layout.simple_spinner_item, array_spinner); 
     spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 


     spinner.setAdapter(spinnerArrayAdapter); 
+0

Основная идея, которая требует минимум усилий программирования изложена [здесь] (http://stackoverflow.com/a/13403769/1029225). Хотя этот пример имеет дело с «ListView», те же основы относятся к «Spinner». Однако пользовательский адаптер всегда более гибкий. –

ответ

11

попробовать что-то вроде этого в адаптере:

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, parent); 

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

      return v; 
    } 
}; 
+0

есть ошибка: ViewGroup не может быть разрешен к типу – user1714553

+0

Вы импортировали View в свой код. Попробуйте записать это в файл -import android.view.View; –

+0

нормально работает, но элементы не могут «не действовать». – user1714553

0

При создании адаптера массива вы передаете «android.R.layout.simple_spinner». Это макет по умолчанию для каждой из подробных строк в счетчике. Вы должны предоставить свою версию этого с помощью textview. Затем вы можете указать атрибут textSize в текстовом представлении и сделать его любым желаемым размером.

Посмотрите на "android.R.layout.simple_spinner", чтобы узнать, какие другие изменения вы можете внести. Вы даже можете скопировать этот файл в свой каталог макета и использовать его в качестве отправной точки для своих изменений.

+0

i mean font custom type not size – user1714553

+0

Что вы подразумеваете под "шрифтом пользовательского типа"? Будет ли это особым типом лица или просто что-то вроде смещения? – AndroidGuy

+0

Я хочу использовать extrafine.ttf – user1714553