Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
bazed
1 / 1 / 1
Регистрация: 23.09.2014
Сообщений: 18
1

Изменение размера текста кнопки вместе с размером самой кнопки?

10.05.2016, 12:43. Просмотров 360. Ответов 5
Метки нет (Все метки)

Есть 100500 кнопок, нужно имитировать их нажатие.

делаю это через селекторы и android:state_pressed

но, текст таким образом не меняется. Насколько я понял раньше была какая-то возможность менять его в селекторах через style, но сейчас нет. Пробовал повесить <scale> тоже не вышло.

Можно заменить кнопки на imagebutton и работать уже через картинки, но это совсем плохой вариант.

Менять через навешивание OnTouchListener тоже не подходит, т.к. кнопок слишком много и на каждую тогда надо вешать слушатель, а в нем switch для перехвата id кнопки.


Вообщем, есть какие-нибудь более простые и удобные способы заставить текст трансформироваться вместе со всей кнопкой?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2016, 12:43
Ответы с готовыми решениями:

Textview. Изменение текста по нажатию кнопки не происходит
Добрый день. Подскажите как же реализовывается подобное : в методе onCreat...

Изменение координат кнопки
Здравствуйте, вопрос как программно изменять координаты кнопки ? ниже...

Определить нажатие кнопки Home и кнопки сворачивания приложения
По аналогии с backPressed: @Override public void onBackPressed() { }

TableLayout. Кнопки получаются разных размеров (кнопки-картинки)
Я решил делать приложение в TableLayout. Добавил TableRow, в него 3 кнопки. Но...

Оформление кнопки: отследить, вмещается ли текст в размеры кнопки
Добрый день, задача стоит следующая динамически создаю кучу кнопок, каждой...

5
Pablito
2746 / 2181 / 737
Регистрация: 12.05.2014
Сообщений: 7,632
Завершенные тесты: 1
10.05.2016, 13:10 2
в селекторе ведь можно указать стиль (style) для каждого состояния кнопки
а в стиле задавать размер текста

будет время, я для интереса проверю, но выглядит все правдоподобно
0
bazed
1 / 1 / 1
Регистрация: 23.09.2014
Сообщений: 18
10.05.2016, 13:20  [ТС] 3
Так я же написал, что через style не работает
0
Pablito
2746 / 2181 / 737
Регистрация: 12.05.2014
Сообщений: 7,632
Завершенные тесты: 1
10.05.2016, 14:48 4
код бы видеть - стили, селекторы и кусок xml с кнопкой

Добавлено через 14 минут
хотя нет, ненадо кода
написать свой класс-наследник кнопки не годится?
там несколько строк всего-то
0
bazed
1 / 1 / 1
Регистрация: 23.09.2014
Сообщений: 18
10.05.2016, 17:16  [ТС] 5
сделал в итоге через OnTouchListener, прогнав его в цикле

Не знаю насколько такое адекватно

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        Button[] btn=new Button[100];
        for (int i=1;i<100;i++) {
            String bid="n"+i;
            int res=this.getResources().getIdentifier(bid,"id","com.example.buttons");
            btn[i]=((Button) findViewById(res));
            btn[i].setOnTouchListener(this);
        }
 
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        Button vv=(Button) findViewById(v.getId());
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            vv.setTextSize(28);
            return true;
        case MotionEvent.ACTION_UP:
            vv.setTextSize(30);
            return true;
            default:
                return false;
        }
    }
0
Pablito
2746 / 2181 / 737
Регистрация: 12.05.2014
Сообщений: 7,632
Завершенные тесты: 1
11.05.2016, 09:45 6
в onTouch нет смысла искать что-то Button vv=(Button) findViewById(v.getId());

первый параметр - это и есть кнопка, на которую нажали
Button b = (Button) v;
и дальше switch-case
b.setText()
0
11.05.2016, 09:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2016, 09:45

Изменение цвета кнопки закрашивает ее целиком
Здравствуйте, у меня возникла такая проблема. Стандартные кнопки у меня...

Изменение языка приложения через нажатие кнопки
Здравствуйте! Есть приложение, в нём есть кнопка &quot;Язык&quot;, и я хочу, чтобы по...

Изменение даты в textView при нажатии на кнопки
Подскажите,как менять дату с помощью кнопок (предыдущая,следующая) или выбирать...


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

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

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