Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
#1

Присвоить шрифт к ListView

11.03.2013, 19:42. Просмотров 2719. Ответов 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 - как изменить шрифт?
Всем привет! Мне необходимо изменить шрифт элементов списка. Для TextView...

Присвоить массив ListView
Есть у меня класс с методом: public class ConvertSystem { final static...

Как присвоить обработчик ListView?
как присвоить обработчик для listView проблема в том что при наследовании от...

Присвоить стринговой переменой поочередно все значение элементов listview
Нужно поочередно получить из элементов listview (элементами являются строки...

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

17
V0v1k
1160 / 984 / 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
1160 / 984 / 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
1160 / 984 / 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
1160 / 984 / 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
1160 / 984 / 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
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
19.03.2013, 13:39  [ТС] #16
V0v1k, Спасибо, а куда вставлять
Java
1
Typeface mTypeface = Typeface.createFromAsset(getAssets(), "fonts/fontan.ttf");
Typeface mTypeface = Typeface.createFromAsset(getAssets(), "fonts/font.ttf");
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.03.2013, 14:03 #17
перед созданием адаптера.
1
Shlika
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 19
19.03.2013, 14:20  [ТС] #18
V0v1k, Спасибо большое!
0
19.03.2013, 14:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 14:20

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

Данные из SQlite в ListView, обработка события ListView
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные...

Передача данных из ListView в другой Activity в ListView
Добрый день. Пытаюсь разобраться с передачей данных с ListView, но выходит что...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

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