Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
#1

Присвоить шрифт к ListView - Программирование Android

11.03.2013, 19:42. Просмотров 2449. Ответов 17
Метки нет (Все метки)

Привет Всем!

Вот к TextView можно присвоить свой шрифт таким путем:

Typeface mTypeface = Typeface.createFromAsset(getAssets(), "fonts/fontan.ttf");
TextView textview = (TextView) findViewById(R.id.tv);
textview.setTypeface(mTypeface);

а как присвоить шрифт к ListView?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 19:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Присвоить шрифт к ListView (Программирование Android):

ListView - как изменить шрифт? - Программирование Android
Всем привет! Мне необходимо изменить шрифт элементов списка. Для TextView меняла так: textView = (TextView)...

Присвоить массив ListView - Программирование Android
Есть у меня класс с методом: public class ConvertSystem { final static String BASE_SYMBOLS = "0123456789ABCDEF"; final static...

Как присвоить обработчик ListView? - Программирование Android
как присвоить обработчик для listView проблема в том что при наследовании от activity а не от listActivity перестает работать этот код ...

ListView. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

17
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.03.2013, 19:47 #2
также - textview.setTypeface(mTypeface);
0
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
12.03.2013, 01:22  [ТС] #3
пробовал...и не получается...подчеркивает

Typeface mTypeface = Typeface.createFromAsset(getAssets(), "fonts/fontan.ttf");
ListView lv = (ListView) findViewById(R.id.lview);
lv.setTypeface(mTypeface) - подчеркивает все время 'setTypeface'
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.03.2013, 13:17 #4
в ListView нет такого метода, его нужно вызывать для TextView который вы засовываете в элементы листа.
0
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
13.03.2013, 02:50  [ТС] #5
public class MainActivity extends Activity {

// имена атрибутов для Map
final String ATTRIBUTE_NAME_TEXT = "text";
final String ATTRIBUTE_NAME_IMAGE = "image";

ListView lvSimple;

private String[] text;


/** Called when the activity is first created. */

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);



ListView ship = (ListView) findViewById(R.id.lvSimple);
Animation shipAnim = AnimationUtils.loadAnimation(this,
R.anim.ship_anim1);
ship.startAnimation(shipAnim);

// массивы данных
String[] texts = { "Немецкий язык" };
int img = R.drawable.a;




Typeface mTypeface = Typeface.createFromAsset(getAssets(), "fonts/font.ttf");
String[] texts1 = { "Правила" };
texts1.setTypeface(mTypeface); подчеркивает....
int img1 = R.drawable.b;

Добавлено через 3 часа 37 минут
V0v1k, public class MainActivity extends Activity {

// имена атрибутов для Map
final String ATTRIBUTE_NAME_TEXT = "text";
final String ATTRIBUTE_NAME_IMAGE = "image";

ListView lvSimple;

private String[] text;


/** Called when the activity is first created. */

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);



ListView ship = (ListView) findViewById(R.id.lvSimple);
Animation shipAnim = AnimationUtils.loadAnimation(this,
R.anim.ship_anim1);
ship.startAnimation(shipAnim);

// массивы данных
String[] texts = { "Немецкий язык" };
int img = R.drawable.a;




Typeface mTypeface = Typeface.createFromAsset(getAssets(), "fonts/font.ttf");
String[] texts1 = { "Правила" };
texts1.setTypeface(mTypeface); подчеркивает....
int img1 = R.drawable.b;
0
Бородач
Заблокирован
13.03.2013, 02:55 #6
Я конечно не специалист, но что-то мне подсказывает, что вы делаете не правильно, вы пытаетесь изменить шрифт типу String.
Как выше написали, Вам нужно изменить шрифт TextView, из которых состоит ListView
0
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
13.03.2013, 03:04  [ТС] #7
Бородач, примерно ...можешь сказать как?
0
Бородач
Заблокирован
13.03.2013, 04:00 #8
Я не совсем понимаю твой код, поэтому попытаюсь объяснить как понимаю.
Например когда создаём адаптер:
Java
1
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, chatText);
, то android.R.layout.simple_list_item_1 это стандартный вид итема, который выглядит примерно так:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LineListItem xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:mode="Line">
    
    <TextView android:id="@android:id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="1dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:textSize="20sp"
        android:textColor="#F8FCF8" />
</LineListItem>
Так вот шрифт надо менять у этого TextView, хотя может я совсем не о том
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
13.03.2013, 15:08 #9
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
String[] texts1 = { "Правила" };
            ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, texts1){
 
                @Override
                public View getView(int position, View convertView,
                        ViewGroup parent) {
                    ViewGroup viewGroup = (ViewGroup) super.getView(position, convertView, parent);
                    TextView textView = viewGroup.findViewById(R.id.text1);
                    textView.setTypeface(mTypeface);
                    return viewGroup;
                }
                
            };
1
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
16.03.2013, 03:36  [ТС] #10
V0v1k, извиняюсь, но что то не получается .... может повлияет в коде то что ниже у меня прописано.... где я присваивал картинку и так далее....


public class MainActivity extends Activity {

// имена атрибутов для Map
final String ATTRIBUTE_NAME_TEXT = "text";
final String ATTRIBUTE_NAME_IMAGE = "image";

ListView lvSimple;


private String[] text;


/** Called when the activity is first created. */


public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);



ListView ship = (ListView) findViewById(R.id.lvSimple);
Animation shipAnim = AnimationUtils.loadAnimation(this,
R.anim.ship_anim1);
ship.startAnimation(shipAnim);

// массивы данных
String[] texts = { "Немецкий язык" };
int img = R.drawable.z;





String[] texts1 = { "Правила" };
int img1 = R.drawable.x;




String[] texts2 = { "Транскрипция" };
int img2 = R.drawable.c;



String[] texts3 = { "Грамматика" };
int img3 = R.drawable.h;



// упаковываем данные в понятную для адаптера структуру
ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>(
texts.length);
Map<String, Object> m;
for (int i = 0; i < texts.length; i++) {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_TEXT, texts [i]);
m.put(ATTRIBUTE_NAME_IMAGE, img);
data.add(m);
}


for (int i = 0; i < texts1.length; i++) {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_TEXT, texts1 [i]);
m.put(ATTRIBUTE_NAME_IMAGE, img1);
data.add(m);
}


for (int i = 0; i < texts2.length; i++) {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_TEXT, texts2 [i]);
m.put(ATTRIBUTE_NAME_IMAGE, img2);
data.add(m);
}


for (int i = 0; i < texts3.length; i++) {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_TEXT, texts3 [i]);
m.put(ATTRIBUTE_NAME_IMAGE, img3);
data.add(m);
}


// массив имен атрибутов, из которых будут читаться данные
String[] from = { ATTRIBUTE_NAME_TEXT,
ATTRIBUTE_NAME_IMAGE };
// массив ID View-компонентов, в которые будут вставлять данные
int[] to = { R.id.tvText, R.id.ivImg };
0
dubok79
16.03.2013, 15:06
  #11

Не по теме:

Shlika, вы бы оформляли свой код тэгом JAVA, будет проще отвечать на ваши вопросы

0
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
16.03.2013, 15:18  [ТС] #12
V0v1k, V0v1k, извиняюсь, но что то не получается .... может повлияет в коде то что ниже у меня прописано.... где я присваивал картинку и так далее....


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
public class MainActivity extends Activity {
 
// имена атрибутов для Map
final String ATTRIBUTE_NAME_TEXT = "text";
final String ATTRIBUTE_NAME_IMAGE = "image";
 
ListView lvSimple;
 
 
private String[] text; 
 
 
/** Called when the activity is first created. */
 
 
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
 
 
 
ListView ship = (ListView) findViewById(R.id.lvSimple); 
Animation shipAnim = AnimationUtils.loadAnimation(this,
R.anim.ship_anim1);
ship.startAnimation(shipAnim);
 
// массивы данных
String[] texts = { "Немецкий язык" };
int img = R.drawable.z;
 
 
 
 
 
String[] texts1 = { "Правила" };
int img1 = R.drawable.x;
 
 
 
 
String[] texts2 = { "Транскрипция" };
int img2 = R.drawable.c;
 
 
 
String[] texts3 = { "Грамматика" };
int img3 = R.drawable.h;
 
 
 
// упаковываем данные в понятную для адаптера структуру
ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>(
texts.length);
Map<String, Object> m;
for (int i = 0; i < texts.length; i++) {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_TEXT, texts [i]);
m.put(ATTRIBUTE_NAME_IMAGE, img);
data.add(m);
}
 
 
for (int i = 0; i < texts1.length; i++) {
m = new HashMap<String, Object>(); 
m.put(ATTRIBUTE_NAME_TEXT, texts1 [i]);
m.put(ATTRIBUTE_NAME_IMAGE, img1);
data.add(m);
}
 
 
for (int i = 0; i < texts2.length; i++) {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_TEXT, texts2 [i]);
m.put(ATTRIBUTE_NAME_IMAGE, img2);
data.add(m);
}
 
 
for (int i = 0; i < texts3.length; i++) {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_TEXT, texts3 [i]);
m.put(ATTRIBUTE_NAME_IMAGE, img3);
data.add(m);
}
 
 
// массив имен атрибутов, из которых будут читаться данные
String[] from = { ATTRIBUTE_NAME_TEXT, 
ATTRIBUTE_NAME_IMAGE };
// массив ID View-компонентов, в которые будут вставлять данные
int[] to = { R.id.tvText, R.id.ivImg };
Добавлено через 31 секунду
dubok79, Спасибо за совет!...
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.03.2013, 13:22 #13
что не получается? не вижу кода с адаптером.
0
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
19.03.2013, 02:19  [ТС] #14
V0v1k, вот целый код в котором есть элементы ListView.... к которым хочу привязать шрифт
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
public class MainActivity extends Activity {
 
  // имена атрибутов для Map
  final String ATTRIBUTE_NAME_TEXT = "text";
  final String ATTRIBUTE_NAME_IMAGE = "image";
 
  ListView lvSimple;
  
 
private String[] text; 
 
 
  /** Called when the activity is first created. */
 
 
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    
 
    ListView ship = (ListView) findViewById(R.id.lvSimple); 
    Animation shipAnim = AnimationUtils.loadAnimation(this,
            R.anim.ship_anim1);
    ship.startAnimation(shipAnim);
 
    // массивы данных
    String[] texts = { "Немецкий язык" };
    int  img = R.drawable.z;
  
    
  
   
    
    String[] texts1 = {  "Правила" };
    int  img1 = R.drawable.x;
    
 
 
   
    String[] texts2 = {  "Транскрипция" };
    int  img2 = R.drawable.c;
    
    
   
    String[] texts3 = {  "Грамматика" };
    int  img3 = R.drawable.h;
    
    
   
    // упаковываем данные в понятную для адаптера структуру
    ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>(
        texts.length);
    Map<String, Object> m;
    for (int i = 0; i < texts.length; i++) {
      m = new HashMap<String, Object>();
      m.put(ATTRIBUTE_NAME_TEXT, texts [i]);
      m.put(ATTRIBUTE_NAME_IMAGE, img);
      data.add(m);
    }
 
  
    for (int i = 0; i < texts1.length; i++) {
        m = new HashMap<String, Object>(); 
        m.put(ATTRIBUTE_NAME_TEXT, texts1 [i]);
        m.put(ATTRIBUTE_NAME_IMAGE, img1);
        data.add(m);
      }
    
    
    for (int i = 0; i < texts2.length; i++) {
        m = new HashMap<String, Object>();
        m.put(ATTRIBUTE_NAME_TEXT, texts2 [i]);
        m.put(ATTRIBUTE_NAME_IMAGE, img2);
        data.add(m);
      }
    
    
    for (int i = 0; i < texts3.length; i++) {
        m = new HashMap<String, Object>();
        m.put(ATTRIBUTE_NAME_TEXT, texts3 [i]);
        m.put(ATTRIBUTE_NAME_IMAGE, img3);
        data.add(m);
      }
    
   
    // массив имен атрибутов, из которых будут читаться данные
    String[] from = { ATTRIBUTE_NAME_TEXT, 
        ATTRIBUTE_NAME_IMAGE };
    // массив ID View-компонентов, в которые будут вставлять данные
    int[] to = { R.id.tvText, R.id.ivImg };
    
    
   
    // создаем адаптер
 final   SimpleAdapter sAdapter = new SimpleAdapter(this, data, R.layout.simple_list_item_1,
           from, to);
 
    // определяем список и присваиваем ему адаптер
    lvSimple = (ListView) findViewById(R.id.lvSimple);
    lvSimple.setAdapter(sAdapter);
  
 
  
    
 
  
    
                             
                                
    lvSimple.setOnItemClickListener(new OnItemClickListener() {
 
        public void onItemClick(AdapterView<?> parent, View view,
 
            int position, long id) {
 
            Map<String, Object> map = (Map<String, Object>)sAdapter.getItem(position);
            String man = (String)map.get(ATTRIBUTE_NAME_TEXT);
 
            if (man.equalsIgnoreCase("Правила")) {
 
   
 
             Intent myIntent = new Intent(getApplicationContext(), ActivityTwo.class);
 
            
 
                                startActivity(myIntent);      
 
           
            }
 
        }
 
      });
 
   
 
    }
 
    }
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.03.2013, 12:30 #15
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// создаем адаптер
 final   SimpleAdapter sAdapter = new SimpleAdapter(this, data, R.layout.simple_list_item_1,
           from, to){
 
                @Override
                public View getView(int position, View convertView,
                        ViewGroup parent) {
                    ViewGroup viewGroup = (ViewGroup) super.getView(position, convertView, parent);
                    TextView textView = viewGroup.findViewById(R.id.tvText);
                    textView.setTypeface(mTypeface);
                    return viewGroup;
                }
                
            };
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 12:30
Привет! Вот еще темы с ответами:

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Копирование данных из 1 listView во 2 listView - Программирование Android
Нужно что бы при нажатии на один элемент в первом ListView он копировался во второй ListView причём многократно.Но я использую...

Использование ListView в ListView - Программирование Android
Всем привет. Можете показать как использовать ListView в ListView, с заполнением как внешнего ListView, так и внутреннего причем с...

Переход из Listview в Listview - Программирование Android
Как сделать, что бы когда нажимаешь в главном листвью на кнопку, открывалось новое нужное(т.е. то по которому тапнули) активити с другим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
19.03.2013, 12:30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru