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

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

Войти
Регистрация
Восстановить пароль
 
bazed
1 / 1 / 1
Регистрация: 23.09.2014
Сообщений: 18
#1

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

10.05.2016, 12:43. Просмотров 264. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменение размера текста кнопки вместе с размером самой кнопки? (Программирование Android):

Textview. Изменение текста по нажатию кнопки не происходит - Программирование Android
Добрый день. Подскажите как же реализовывается подобное : в методе onCreat получаем интент с id выбранного элемента на предыдущей...

Изменение координат кнопки - Программирование Android
Здравствуйте, вопрос как программно изменять координаты кнопки ? ниже приведу ссылки с помощью которых пытался разобраться, возможно...

Оформление кнопки: отследить, вмещается ли текст в размеры кнопки - Программирование Android
Добрый день, задача стоит следующая динамически создаю кучу кнопок, каждой присваиваю setText из массива. for (int...

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

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

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

5
Pablito
2505 / 1989 / 619
Регистрация: 12.05.2014
Сообщений: 6,943
Завершенные тесты: 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
2505 / 1989 / 619
Регистрация: 12.05.2014
Сообщений: 6,943
Завершенные тесты: 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
2505 / 1989 / 619
Регистрация: 12.05.2014
Сообщений: 6,943
Завершенные тесты: 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
Привет! Вот еще темы с ответами:

Тень текста нажатой кнопки - Программирование Android
Есть TabHost. В нём несколько табов. На каждом табе чёрный текст с белой тенью. Когда таб нажат цвет текста меняю на белый. Нужно и цвет...

Форматирование текста и действие по нажатию кнопки назад - Программирование Android
День добрый! Столкнулся с такой проблемой: -есть текст и его надо выровнять по ширине т.е не центр а как в ворде. &lt;?xml...

Вывод разного текста по клику на разные кнопки - Программирование Android
Здравствуйте! Подскажите, пожалуйста, как реализовать вывод текста при определенном значении кнопки? Допустим, мне необходимо...

Изменение размера текста внутри кнопки submit - HTML, CSS
Привет всем! Скажите пожалуйста, а можно ли поменять размер текста внутри кнопки submit? Шрифт и цвет меняются без проблем, размер, увы,...


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

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

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