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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.74
TanaTiX
Модератор
2751 / 1597 / 152
Регистрация: 19.02.2011
Сообщений: 5,768
#1

Вопросы по настройке интерфейса - Программирование Android

11.08.2011, 22:58. Просмотров 2393. Ответов 9
Метки нет (Все метки)

Почему конструкция типа
Java
1
textTitle.setBackgroundColor(Color.rgb(100,100,100));
обрабатывается корректно, а
Java
1
textTitle.setBackgroundColor(R.color.myColor);
нет?

Выставляю настройки выравнивания
Java
1
textTitle.setGravity(0x01);
Можно ли поставить вместо 0x01 что-то более внятное? Как сделать чтоб созданное текстовое поле не занимало все пространство приложения?

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

Когда вопросы кончаются, сделать кнопку неактивной и вывести сообщение о том, что вопросы кончились - Программирование Android
Кто знает ребят подскажите в чем проблема, есть метод обновляющий текст в TextView (всего 6 вопросов). Так вот когда вопросы кончаются...

Вопросы по настройке 4.0.7 - VBulletin
День добрый. Форум на vbulletin 4.0.7. Следующие вопросы - не могу разобраться: 1. Аватарки. Учётная запись админа может...

Вопросы по настройке сервера JSDK - Java
Господа программисты Java! Помогите настроить JSDK !!! 1) В JSDK по умолчанию, свой сервлет для запуска необходимо разместить в...

Вопросы по настройке оси под себя - Windows 7
После перехода на 7ку с XP возникло пара проблем с настройкой винды под себя и с установкой по , а именно : 1 - Не могу убрать панель...

Какова вероятность того, что 2 из них нуждаются в общей настройке? Больше 2-х телевизоров нуждается в настройке? - Теория вероятностей
В мастерскую для ремонта поступило 15 телевизоров. Известно, что 6 из них нуждаются в общей регулировке. Мастер берет первые попавшиеся 5...

Проконсультируйте по настройке - Cisco
Здравствуйте. Начинаю осваивать CISCO, есть задача, есть человек который ее реализовывает (не я). Имеем: CISCO3845-MB сеть...

9
petruchodd
103 / 102 / 9
Регистрация: 23.06.2009
Сообщений: 562
12.08.2011, 11:40 #2
Цитата Сообщение от TanaTiX Посмотреть сообщение
Почему конструкция типа
Java
1
textTitle.setBackgroundColor(Color.rgb(100,100,100));
обрабатывается корректно, а
Java
1
textTitle.setBackgroundColor(R.color.myColor);
нет?
Потому что R.color.myColor это уже ресурс, а не цвет. Поэтому выполнять эту команду нужно так :
Java
1
textTitle.setBackgroundResource(R.color.myColor);
Выставляю настройки выравнивания
Java
1
textTitle.setGravity(0x01);
Можно ли поставить вместо 0x01 что-то более внятное?

в скобках пишеш :
Java
1
textTitle.setGravity(Gravity.LEFT)
// например по левому краю. после точки есть выбор.
Как сделать чтоб созданное текстовое поле не занимало все пространство приложения?

Продолжение следует...
Выставлять ему ширину меньше(в ручную), либо ставить WRAP_CONTENT, у тебя скорей всего стоит FILL_PARRENT поэтому оно и занимает всё пространство.

Если вообще не трогать высоту и ширину, по дефолту будет использоваться wrap_content для высоты и ширины.



Не по теме:

з.ы. могу конечно и ошибаться, но люди вроде начали заходить в эту тему... может ещо кто-то что-то подскажет

1
TanaTiX
Модератор
2751 / 1597 / 152
Регистрация: 19.02.2011
Сообщений: 5,768
13.08.2011, 01:46  [ТС] #3
Цитата Сообщение от petruchodd Посмотреть сообщение
setBackgroundResource
А для цвета текста к примеру такое уже не подойдет? А то пересмотрел свойства, перепробовал похожие по смыслу - ничего похожего не нашел. Как тогда определить в каком случае что использовать?
Выставлять ему ширину меньше(в ручную), либо ставить WRAP_CONTENT, у тебя скорей всего стоит FILL_PARRENT поэтому оно и занимает всё пространство.
Аналогично: не могу понять что откуда брать. Перерыл весь НЕТ - результата ёк
1
petruchodd
103 / 102 / 9
Регистрация: 23.06.2009
Сообщений: 562
13.08.2011, 02:42 #4
Попробую помочь аж в понедельник, сейчас как бы на выходные на отдых сваливаю . Вот за второй вариант( про то что у тебя всю площадь занимает) выложи проект . Если он не такой серьезный для тебя) я попытаюсь обьяснить тебе почему на всю ширину или высоту. ( проект всмысле полностью папочку ) Ну а за первое так сразу и не скажу.. но попробуй вот так

Java
1
textView.setTextColor(getResources().getColor(R.color.myColor));

Не по теме:

p.s аа эклипса нету под рукой(((

1
TanaTiX
Модератор
2751 / 1597 / 152
Регистрация: 19.02.2011
Сообщений: 5,768
14.08.2011, 15:26  [ТС] #5
Цитата Сообщение от petruchodd Посмотреть сообщение
Вот за второй вариант( про то что у тебя всю площадь занимает) выложи проект
Спасибо, сам разобрался. Я не создавал лэйаут, в общем какую-то ерунду делал. Сейчас картинка (в смысле понимания) уже вырисовывается.
Вот рабочий пример.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
cont = new LinearLayout(this);
        cont.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
        cont.setOrientation(LinearLayout.HORIZONTAL);
        setContentView(cont);
textTitle=new TextView(this);
        textTitle.setText("Калькулятор");
        
        textTitle.setGravity(Gravity.CENTER_HORIZONTAL);
        textTitle.setTextColor(Color.rgb(255, 0, 0));
        textTitle.setBackgroundColor(Color.rgb(100,100,100));
        
        
        cont.addView(textTitle);
Отсюда вопрос: чем отличается addView от setContentView? Я так понимаю, что последний метод обозначает базовый контейнер, куда будут бросаться другие визуальный объекты (кстати, у визуальных объектов в Java/Android есть какое-то общее название, от какого класса они все наследуются, какойинтерфейс расширяют?), а addView просто добавляет очередной объект, "не назначая его начальником"?
0
TanaTiX
Модератор
2751 / 1597 / 152
Регистрация: 19.02.2011
Сообщений: 5,768
21.08.2011, 15:07  [ТС] #6
Я правильно понимаю, что setContentView нужно использовать только для глобального контейнера?

Добавлено через 9 часов 56 минут
Создал с помощью xml в ряд TextEdit, за ним ToggleButton. Последний при этом отображается на несколько пикселей ниже. Если прописать
Java
1
layout_marginTop="-10dp"
то все становится в один ряд. За счет чего такое странное поведение по умолчанию и правильный ли я выбрал фикс?

Добавлено через 9 часов 56 минут
Создал с помощью xml в ряд TextEdit, за ним ToggleButton. Последний при этом отображается на несколько пикселей ниже. Если прописать
Java
1
layout_marginTop="-10dp"
то все становится в один ряд. За счет чего такое странное поведение по умолчанию и правильный ли я выбрал фикс?

Добавлено через 12 часов 39 минут
Как выставить в ряд 3 элемента так, чтоб средний занимал минимальное пространство соответственно контенту (кнопка), а крайние - все оставшееся пространство (EditText)?
Как у ToggleButton убрать полоску подсветки? Хочу чтоб менялся только текст при клике (реализовано).

Добавлено через 22 минуты
Цитата Сообщение от TanaTiX Посмотреть сообщение
Как выставить в ряд 3 элемента так, чтоб средний занимал минимальное пространство соответственно контенту (кнопка), а крайние - все оставшееся пространство (EditText)?
С этим разобрался.
У контейнера ставим
Java
1
android:weightSum="100"
у детей соответственно
Java
1
2
3
android:layout_weight="54"
android:layout_weight="2"
android:layout_weight="54"
т.е. сумма значений layout_weight и weightSum должны быть равны, что от меня по началу и ускользнуло.
Остальные вопросы пока что все еще актуальны.

Upd. правда сейчас обратил внимание, что самый правый элемент немного выходит за границы экрана. Из-за чего это может быть? Как побороть?
Java
1
2
3
4
5
6
<EditText android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_weight="54"
            android:text="cool"
            android:id="@+id/editText2">
            </EditText>
0
petruchodd
103 / 102 / 9
Регистрация: 23.06.2009
Сообщений: 562
24.08.2011, 05:03 #7
Цитата Сообщение от TanaTiX Посмотреть сообщение
Я правильно понимаю, что setContentView нужно использовать только для глобального контейнера?
Да что то типа этого. Ты можешь создать много View's но они не будут отображаться, пока ты не прикажешь им. (можна логами чисто смотреть и без контентвью, но для отображения интерфейса, нужно запускать эту функцию)
За тугл или че там ) Андроид не идеальный своих багов хватает ( я зачастую встречаюсь при работе с камерой )
Иногда приходиться делать мини фиксы...
по центру
что бы ширина или высота ровнялась наполненому контенту( к примеру ввел текст в кнопке "ок") то
в значении прописываешь wrap_content,а что бы заполнить на ширину или высоту до конца, насколько это позволяет родитель(parent) прописуй fill_parrent
что то типа такого напримере :
Java
1
2
3
4
5
6
layout.addView(textView,100,LayoutParams.wrap_content); // ширина 100, высота сколько потребуется //для нормального отображения
layout.addView(button,LayoutParams.wrap_content,LayoutParams.wrap_content);//для кнопки высота и ширина сколько потребуется для нормального отображения
layout.addView(textView,LayoutParams.fill_parrent,LayoutParams.wrap_content);//это вью заполняет //остаток позволеного места от layout (если к примеру задал для лайоута ширину 400, то x=400-100 -//button.getWidth();(button к примеру 50)) отсюда ширина этого вью будет 250
 
//получиться что то типа такого  : |---textView=100---||-button-||----------textView=250-------|
//это если выставленно layout.setOrientation(LinearLayout.VERTICAL)  чет типа такого.
Upd. правда сейчас обратил внимание, что самый правый элемент немного выходит за границы экрана. Из-за чего это может быть? Как побороть?
тут не пойму, попробуй убрать с хмл wrap_content (настройка для ширины, поидее она не должна срабатывать так как ты задаешь его сам (54 пример) )
1
TanaTiX
Модератор
2751 / 1597 / 152
Регистрация: 19.02.2011
Сообщений: 5,768
25.08.2011, 23:16  [ТС] #8
ToggleButton имеет 2 состояния - нажато и отжато. А есть ли подобный объект с бОльшим количеством (необходимо также типа toggle, но это не принципиально)? Как он называется. У меня на мобиле (HTC Desire HD) такие есть в настройках, а название найти не могу.
Как вообще создавать свои собственные кнопки, которые выглядят так, как мне хочется и имеет соответственно такое поведение, которое мне хочется? Как настроить программу, чтоб такие кастомные элементы добавлять через xml? Кстати, использовать xml действительно удобнее и идеологически более правильно (если конечно речь не об одной кнопке, создаваемой посреди работы приложения)

Цитата Сообщение от petruchodd Посмотреть сообщение
тут не пойму, попробуй убрать с хмл wrap_content (настройка для ширины, поидее она не должна срабатывать так как ты задаешь его сам (54 пример) )
экспериментальным путем поставил 2м элементам по 50, а 3-му 0 - стало нормально. Наверное общее значение не должно превышать 100.

Добавлено через 27 минут
Можно ли создавать выпадающие списки исключительно средствами xml, т.е. без кодирования в *.java?
1
petruchodd
103 / 102 / 9
Регистрация: 23.06.2009
Сообщений: 562
26.08.2011, 11:14 #9
Смотри тут тут

Описание в xml и в коде на любителя, кому как нравиться, я предпочитаю создавать всё в коде, так я больше контролирую процесс.
0
TanaTiX
Модератор
2751 / 1597 / 152
Регистрация: 19.02.2011
Сообщений: 5,768
29.08.2011, 11:28  [ТС] #10
Вот захотелось мне, чтоб моя программа несколько меняла вид при определенных событиях. К примеру, при клике по кнопке меню хочу показать это самое меню (пример обработки клика в этом разделе чуть выше). Как мне правильней поступить: создавать несколько лэйаутов для нескольких состояний приложения (как это осуществить? создание новой xml по определению вызывает ошибку) или есть другие способы? Как вариант блокировать все имеющееся содержимое сцены, но если элементов много, то программно пройтись по каждому - не правильное решение, как мне представляется. Можно ли добавить некий контейнер поверх всего, чтоб все нижележащее было недоступно или в андроиде подобные задачи решаются другими способами?

Добавлено через 12 часов 38 минут
Вот (надеюсь админы не против такой ссылки), может быть полезным. Но в моем случае вопрос про меню был лишь как пример, так что вопрос еще остается открытым.
0
29.08.2011, 11:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2011, 11:28
Привет! Вот еще темы с ответами:

Server 2016 Настройке серверов - Windows Server
Добрый день. Нужна помощь знающих людей, понимающих в серверных осях. У самого опыт небольшой, к сожалению. Расскажу историю. Был...

Мануал по настройке биоса - Материнские платы
Дайте, пожалуйста, мануал по настройке биоса на материнской плате ASUS P4SGX-MX.

Подготовка к настройке Windows - Удаление вирусов
После скачивания обновлений на Windows7 перезагрузил ПК и мне пишет &quot;Подготовка к настройке Windows не выключайте компьютер&quot; и так висит,на...

Видеоуроки по установке и настройке - Joomla
Подскажыте видеоуроки как раворачивать этот движок


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

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

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