С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Модератор
 Аватар для TanaTiX
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550

Вопросы по настройке интерфейса

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

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

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

Продолжение следует...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.08.2011, 22:58
Ответы с готовыми решениями:

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

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

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

9
 Аватар для petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
12.08.2011, 11:40
Цитата Сообщение от 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
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
13.08.2011, 01:46  [ТС]
Цитата Сообщение от petruchodd Посмотреть сообщение
setBackgroundResource
А для цвета текста к примеру такое уже не подойдет? А то пересмотрел свойства, перепробовал похожие по смыслу - ничего похожего не нашел. Как тогда определить в каком случае что использовать?
Выставлять ему ширину меньше(в ручную), либо ставить WRAP_CONTENT, у тебя скорей всего стоит FILL_PARRENT поэтому оно и занимает всё пространство.
Аналогично: не могу понять что откуда брать. Перерыл весь НЕТ - результата ёк
1
 Аватар для petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
13.08.2011, 02:42
Попробую помочь аж в понедельник, сейчас как бы на выходные на отдых сваливаю . Вот за второй вариант( про то что у тебя всю площадь занимает) выложи проект . Если он не такой серьезный для тебя) я попытаюсь обьяснить тебе почему на всю ширину или высоту. ( проект всмысле полностью папочку ) Ну а за первое так сразу и не скажу.. но попробуй вот так

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

Не по теме:

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

1
Модератор
 Аватар для TanaTiX
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
14.08.2011, 15:26  [ТС]
Цитата Сообщение от 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
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
21.08.2011, 15:07  [ТС]
Я правильно понимаю, что 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
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
24.08.2011, 05:03
Цитата Сообщение от 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
2935 / 1794 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
25.08.2011, 23:16  [ТС]
ToggleButton имеет 2 состояния - нажато и отжато. А есть ли подобный объект с бОльшим количеством (необходимо также типа toggle, но это не принципиально)? Как он называется. У меня на мобиле (HTC Desire HD) такие есть в настройках, а название найти не могу.
Как вообще создавать свои собственные кнопки, которые выглядят так, как мне хочется и имеет соответственно такое поведение, которое мне хочется? Как настроить программу, чтоб такие кастомные элементы добавлять через xml? Кстати, использовать xml действительно удобнее и идеологически более правильно (если конечно речь не об одной кнопке, создаваемой посреди работы приложения)

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

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

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

Добавлено через 12 часов 38 минут
Вот (надеюсь админы не против такой ссылки), может быть полезным. Но в моем случае вопрос про меню был лишь как пример, так что вопрос еще остается открытым.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.08.2011, 11:28
Помогаю со студенческими работами здесь

Сетевая карта wi-fi и адаптер wi-fi вопросы по настройке
привет народ. у меня задача - соединить через wi-fi два компьютера (как вроде через обычную сетевую карту через провод), мануал как это...

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

Как увидеть методы в классах, которые реализованы из интерфейса и перейти в них из интерфейса?
Как увидеть методы класса, которые реализованы из интерфейса и перейти в них из этого интерфейса, то есть все классы где данный метод...

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

В программе два интерфейса и нужно чтобы при выводе сообщения в тексбоксе 1 интерфейса, текст сразу отображался
в текстбоксе второго интерфейса, никак не могу понять как это сделать


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru