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

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

Войти
Регистрация
Восстановить пароль
 
rotting
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 7
#1

Какой элемент интерфейса использовать? - Программирование Android

11.01.2016, 18:03. Просмотров 213. Ответов 11
Метки нет (Все метки)

Хочу сделать кнопку с картинкой, под которой будет текст с одним шрифтом, а под ним текст с другим шрифтом. Подскажите как реализовать такой элемент интерфейса.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2016, 18:03     Какой элемент интерфейса использовать?
Посмотрите здесь:

Не могу понять, какой элемент использовать - Программирование Android
Доброе утро всем. Подскажите пожалуйста, какой элемент используется в мобильном приложении vk (да и еще в куче других). Я про съезжающую...

Какой использовать элемент экрана для вывода текста? - Программирование Android
Здравствуйте. Во вкладке Pallete в Intellij IDEA доступны различные слои, виджеты, контейнеры и т.д. Что из них можно использовать для...

В какой программе рисовать мелкие графические элементы для программного интерфейса - Программирование Android
Здравствуйте. Вопрос организационного плана. Допустим что нужно разработать приложение. В нём будут находится некие графические...

Подскажите элемент интерфейса - Программирование Android
Добрый вечер! Хочу сделать что-то по типу разблокировки экрана на Android, когда для запуска функции необходимо перетащить шарик к...

Какой контейнер использовать? - Программирование Android
Всем привет! Нужно повторить след: Немного не пойму, какой контейнер нужно выбрать. ListView и изменить свой адаптер? Или GridView, но...

Какой адаптер посоветуете мне использовать? - Программирование Android
MainActivity import java.util.ArrayList; import android.os.AsyncTask; import android.os.Bundle; import android.app.AlertDialog; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2458 / 1903 / 591
Регистрация: 12.05.2014
Сообщений: 6,711
Завершенные тесты: 1
11.01.2016, 18:07     Какой элемент интерфейса использовать? #2
Текст 1 и 2 это часть кнопки, они кликабельные? Что значит одном шрифтом, другим шрифтом?
rotting
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 7
11.01.2016, 18:17  [ТС]     Какой элемент интерфейса использовать? #3
картинка, текст1 (жирный), текст2(курсив). Все одно под другим. Кликабельное должно быть все вместе, вне зависимости на что нажали.
Pablito
2458 / 1903 / 591
Регистрация: 12.05.2014
Сообщений: 6,711
Завершенные тесты: 1
11.01.2016, 18:34     Какой элемент интерфейса использовать? #4
XML
1
2
3
4
5
6
7
        <TextView
            style="@style/Widget.AppCompat.ImageButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableTop="@drawable/ic_black"
            android:gravity="center"
            android:text="@string/btn_text" />
строчку со style можно и убрать, будет просто текст и картинка, а со стилем типа кнопка
в файле res/strings.xml добавляем строку
XML
1
<string name="btn_text"><b>жирный\n</b><i>курсив</i></string>
Название: Untitled.png
Просмотров: 24

Размер: 4.3 Кб
rotting
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 7
11.01.2016, 18:41  [ТС]     Какой элемент интерфейса использовать? #5
Буду безмерно рад если расскажете как это все сделать программно)

Добавлено через 1 минуту
Сейчас делаю через кнопку:
Java
1
2
button = new Button(context);
button.setText(films.get(position).getName());
Pablito
2458 / 1903 / 591
Регистрация: 12.05.2014
Сообщений: 6,711
Завершенные тесты: 1
11.01.2016, 18:59     Какой элемент интерфейса использовать? #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
4
5
6
7
8
        TextView tv = (TextView) findViewById(R.id.button);
        SpannableString line1 = new SpannableString("Жирный текст\n");
        SpannableString line2 = new SpannableString("Курсив");
        line1.setSpan(new StyleSpan(Typeface.BOLD), 0, line1.length(), 0);
        line2.setSpan(new StyleSpan(Typeface.ITALIC), 0, line2.length(), 0);
        SpannableStringBuilder ssb = new SpannableStringBuilder(line1);
        ssb.append(line2);
        tv.setText(ssb);
Добавлено через 1 минуту
ненадо кнопку, на ней не получится делать текст разными стилями
проще брать TextView, применять на него стиль как у кнопки

Добавлено через 5 минут
подозреваю это какой-то список, листвью например
если так, то так не делается - стили у текста

обычно делается отдельная разметка для полоски листвью, а в ней уже несколько элементов - картинка, надписи и т.д.
причем надписи делаются разными TextView, а не лепится все из текста с в одно
rotting
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 7
11.01.2016, 19:58  [ТС]     Какой элемент интерфейса использовать? #7
А картинку как программно добавить?
Pablito
2458 / 1903 / 591
Регистрация: 12.05.2014
Сообщений: 6,711
Завершенные тесты: 1
11.01.2016, 20:06     Какой элемент интерфейса использовать? #8
Java
1
2
        Drawable drawable = ContextCompat.getDrawable(this, R.drawable.ic_black);
        tv.setCompoundDrawablesWithIntrinsicBounds(null, drawable, null, null);
rotting
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 7
11.01.2016, 20:24  [ТС]     Какой элемент интерфейса использовать? #9
Java
1
Drawable drawable = ContextCompat.getDrawable(this, R.drawable.ic_black);
говорит такого метода нет getDrawable()
Pablito
2458 / 1903 / 591
Регистрация: 12.05.2014
Сообщений: 6,711
Завершенные тесты: 1
11.01.2016, 20:27     Какой элемент интерфейса использовать? #10
можно весь код класса?
rotting
0 / 0 / 0
Регистрация: 09.03.2015
Сообщений: 7
11.01.2016, 21:30  [ТС]     Какой элемент интерфейса использовать? #11
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
public class ProductAdapter extends BaseAdapter{
        private Context context;
        private List<Film> films;
 
        public ProductAdapter(Context context, List<Film> products) {
            this.context = context;
            this.films = products;
        }
 
        @Override
        public int getCount() {
            return films.size();
        }
 
        @Override
        public Object getItem(int position) {
            return films.get(position);
        }
 
        @Override
        public long getItemId(int position) {
            return position;
        }
 
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView tv;
 
            if (convertView == null) {
                //button = new Button(context);
                //button.setText(films.get(position).getName());
 
                tv = new TextView(context);//TextView) findViewById(R.id.button)
                SpannableString line1 = new SpannableString("Жирный текст\n");
                SpannableString line2 = new SpannableString("Курсив");
                line1.setSpan(new StyleSpan(Typeface.BOLD), 0, line1.length(), 0);
                line2.setSpan(new StyleSpan(Typeface.ITALIC), 0, line2.length(), 0);
                SpannableStringBuilder ssb = new SpannableStringBuilder(line1);
                ssb.append(line2);
                tv.setText(ssb);
 
                URL url = null;
                try {
                    url = new URL("http://fs185.www.ex.ua/show/218888914/218888914.jpg?200");
 
                    //URLConnection connection = url.openConnection();
                    //InputStream is = connection.getInputStream();
                    //Drawable drawable = Drawable.createFromStream(is, "src");
                    Drawable drawable;
                    drawable = ContextCompat.getDrawable(context, R.drawable.abc_ic_go);
                    tv.setCompoundDrawablesWithIntrinsicBounds(null,drawable,null,null);
 
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
 
 
                //button.setBackground();
            } else {
                tv = (TextView) convertView;
            }
            tv.setId(position);
 
            return tv;
        }
    }
Добавлено через 7 минут
Вопрос решен

Написал так:
Java
1
2
drawable = getResources().getDrawable(R.drawable.abc_ic_go);
tv.setCompoundDrawablesWithIntrinsicBounds(null,drawable,null,null);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2016, 10:36     Какой элемент интерфейса использовать?
Еще ссылки по теме:

Какой бесплатный модуль чата для Android и iOS использовать? - Программирование Android
Подскажите какой бесплатный модуль чата для Android и iOS использовать? Мы пишем приложение в которое нужно интегрировать самый простой...

дизайн интерфейса - Программирование Android
Доброго времени изучая андроид основное внимание уделял кодингу, но совсем забыл об интерфейсе. и вот столкнулся с проблеммами адаптации...

Верстка интерфейса - Программирование Android
Привет всем! Помогите пожалуйста разобраться Мне нужно чтобы текст показывался в &quot;определенном квадрате&quot; т.е. чтобы текст не выходил...

Динамическая смена интерфейса - Программирование Android
Короче пишу тут програмку файловый менеджер. С динамическим созданием и размещением интерфейса на экране проблем нет. Только вот получается...


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

Или воспользуйтесь поиском по форуму:
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
12.01.2016, 10:36     Какой элемент интерфейса использовать? #12
Java
1
tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.abc_ic_go, 0, 0, 0);
Yandex
Объявления
12.01.2016, 10:36     Какой элемент интерфейса использовать?
Ответ Создать тему
Опции темы

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