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

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

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

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

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

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

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

Продолжение следует...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2011, 22:58     Вопросы по настройке интерфейса
Посмотрите здесь:

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

Вопросы по работе Android Studio - Программирование Android
куда сохраняет проеты android Studio?? У нее есть какая нибудь папка worspace?? Она устанавливается в операционную систему или также как...

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

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

Наложение элементов интерфейса - Программирование Android
Вопрос вот в чем: можно ли расположить элементы интерфейса, чтобы их области пересекались? Например можно ли расположить пару кнопок...

Расположение элемента интерфейса - Программирование Android
Как в разметке указать, что элемент должен располагаться следующим образом: верхний край элемента на 200dp ниже верхнего края...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
petruchodd
90 / 90 / 8
Регистрация: 23.06.2009
Сообщений: 511
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 для высоты и ширины.



Не по теме:

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

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

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

Не по теме:

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

TanaTiX
Модератор
2744 / 1589 / 145
Регистрация: 19.02.2011
Сообщений: 5,727
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 просто добавляет очередной объект, "не назначая его начальником"?
TanaTiX
Модератор
2744 / 1589 / 145
Регистрация: 19.02.2011
Сообщений: 5,727
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>
petruchodd
90 / 90 / 8
Регистрация: 23.06.2009
Сообщений: 511
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 пример) )
TanaTiX
Модератор
2744 / 1589 / 145
Регистрация: 19.02.2011
Сообщений: 5,727
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?
petruchodd
90 / 90 / 8
Регистрация: 23.06.2009
Сообщений: 511
26.08.2011, 11:14     Вопросы по настройке интерфейса #9
Смотри тут тут

Описание в xml и в коде на любителя, кому как нравиться, я предпочитаю создавать всё в коде, так я больше контролирую процесс.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2011, 11:28     Вопросы по настройке интерфейса
Еще ссылки по теме:

Улучшение интерфейса. TimePicker - Программирование Android
OnTimeSetListener myCallBack = new OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { ...

Реализация интерфейса приложения - Программирование Android
Как можно реализовать показ таких новостей? http://cs537310.vk.me/u13519098/doc/f445bcb3bfee/novosti.jpg

Привязка веб интерфейса - Программирование Android
Попробую более точно описать что мне нужно... Вот у меня например есть веб интерфейс для управления каким то прибором, например светом в...

Верстка красивого интерфейса - Программирование Android
Уважаемые, подскажите пожалуйста книги, или хорошие статьи про создание, версику красивого интерфейса под android.


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

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

Добавлено через 12 часов 38 минут
Вот (надеюсь админы не против такой ссылки), может быть полезным. Но в моем случае вопрос про меню был лишь как пример, так что вопрос еще остается открытым.
Yandex
Объявления
29.08.2011, 11:28     Вопросы по настройке интерфейса
Ответ Создать тему
Опции темы

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