Страница 1 из 8

Урок 11. Папка res/values. Используем ресурсы приложения.

Добавлено: 29 авг 2011, 03:00
damager82
В этом уроке мы:

- узнаем, зачем нужна папка res/values, что в ней можно хранить и как использовать

Click here to read this article!

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 31 май 2012, 22:01
Flactor
Не очень понятно зачем тут

Код: Выделить всё

getResources().getString(R.string.tvBottomText);
:?:

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 01 июн 2012, 09:52
damager82
Flactor писал(а):Не очень понятно зачем тут

Код: Выделить всё

getResources().getString(R.string.tvBottomText);
:?:
Да, не в тему ... Спасибо )

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 12 июл 2012, 15:46
xolostyak_by
Не смог победить вот эту ошибку. помогите пожалуйста. никак не пойму в чем причина.

Изображение

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 12 июл 2012, 17:37
damager82
xolostyak_by писал(а):Не смог победить вот эту ошибку. помогите пожалуйста. никак не пойму в чем причина.
У вас эти строки не в методе onCreate. Фигурная скобка закрывается до них, а должна после.

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 18 июл 2012, 17:35
Daniil
Незнаю , может для кого-то очевидно, но меня на пару минут заставило задуматься почему в activity_main.xml во вкладке "Graphical Layout" не отобразились изменения нижниго текста, кнопки и фона, внесенные в "onCreate" в MainActivity.java, как я понял всё потому что параметры задаются во время запуска приложения, поправите, если не прав.

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 19 июл 2012, 12:38
damager82
Daniil писал(а):Незнаю , может для кого-то очевидно, но меня на пару минут заставило задуматься почему в activity_main.xml во вкладке "Graphical Layout" не отобразились изменения нижниго текста, кнопки и фона, внесенные в "onCreate" в MainActivity.java, как я понял всё потому что параметры задаются во время запуска приложения, поправите, если не прав.
onCreate срабатывает при запуске приложения. Соответственно все то, что мы там накодили выполнится тоже при запуске. И этот код не вносит никаких изменений непосредственно в layout-файл.

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 23 авг 2012, 09:01
Roman
Почему мы в уроке 10-м объявляли переменные

Код: Выделить всё

TextView tvOut;
Button btnOk;
Button btnCancel;
а только затем находили View-элементы:

Код: Выделить всё

tvOut = (TextView) findViewById(R.id.tvOut);
btnOk = (Button) findViewById(R.id.btnOk);
btnCancel = (Button) findViewById(R.id.btnCancel);
а в данном примере сразу находим View-элементы?
Предположительный ответ: мы так упрощаем код, но я попытался так упростить его в прошлом уроке и мне выдало ошибку "tvOut cannot be resolved" в методе

Код: Выделить всё

public void onClick(View v)
я там задаю просто

Код: Выделить всё

tvOut.setText("Нажата кнопка Ок");
Как тогда правильно записать, ведь эти два метода паблик?
Спасибо за ответ

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 23 авг 2012, 10:05
math64
Если соответствующий View нужен один раз - находим и сразу используем, без локальных переменных.
Если используется несколько раз в одном методе или один раз, но выражение очень длинное - объявляем локальную переменную.
Если нужно использовать в нескольких методах - объявляем поле класса и инициализируем его в onCreate().
В данном случае tvOut нужен в методе onClick(). Поэтому нужно поле класса.
Но если tvOut используется только в onClick(), можно перенести TextView tvOut = (TextView) findViewById(R.id.tvOut); в метод onClick(), тогда tvOut будет локальной переменной в onClick().
Чуть выигрываем по памяти, но теряем по времени.

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 13 сен 2012, 14:39
di16
скажите как сделать так, чтобы EditText отображался в Android 2.... как в Android 4, потому что в Android 2... он отображается в виде окошка, в Android 4 в виде линии

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 13 сен 2012, 14:44
rezak90
di16 писал(а):скажите как сделать так, чтобы EditText отображался в Android 2.... как в Android 4, потому что в Android 2... он отображается в виде окошка, в Android 4 в виде линии
не совсем понял, но если посмотреть многое в 4.х версиях выглядит не так как во 2.х и здесь ничего не сделаешь. Так уж делают андроид. Но это всё относится к стандартным компонентам, если делать кастомизацию то по идеи должно выглядить одинаково не зависимо от версии андроида, может быть различия лишь на рзных дивайсах.

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 13 сен 2012, 15:47
di16
Изображение
Изображение

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 13 сен 2012, 17:48
rezak90
di16 сомневаюсь что такое возможно, только в голову приходит как создание кастомной разметки. Но я не понимаю для чего это? С каждой новой версией дизайн меняется и будет менятся.

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 13 сен 2012, 20:03
math64
Лезешь сюда:
"С:\Program Files\Android\android-sdk\platforms\android-X\data\res\"
где X - номер старого SDK (8 или 10)
Находишь стиль для EditText и копируешь в res своего приложения, возможно с творческими изменениями.
Указываешь стиль в своём layout:

Код: Выделить всё

<EditText android:id="@+id/editText1" style="@style/MyEditTextStyle"/>

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 26 сен 2012, 21:55
dasp
Я вот столкнулся с такой проблемой, Подскажите пожалуйста.

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout llBottom = (LinearLayout) findViewById (R.id.llBottom);
TextView tvBottom = (TextView) findViewById (R.id.tvBottom);
Button btnBottom = (Button) findViewById (R.id.btnBottom);

llBottom.setBackroundResourse (R.color.llBottomColor);
tvBottom.setText (R.string.tvBottomText);
btnBottom.setText(R.string.btnBottomText);

у меня LinearLayout и TextView gjlxthryens. Говорит, что LinearLayout cannot be resolved to a type

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 26 сен 2012, 22:21
AndreyI
Проблема с импортом Ctrl+Shift+O вам в помощь.

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 27 сен 2012, 08:41
dasp
спасибо нажал, но теперь ругается
setBackroundResourse, говорит, что
The method setBackroundResourse(int) is undefined for the type LinearLayout

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 28 сен 2012, 12:49
damager82
dasp писал(а):спасибо нажал, но теперь ругается
setBackroundResourse, говорит, что
The method setBackroundResourse(int) is undefined for the type LinearLayout
Очепятка: setBackgroundResourse

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 28 сен 2012, 14:40
dasp
спасибо. было две опечатки. теперь все исправлено и не чего не ругается.
это вторая часть урока, где мы в ручную кодили для изменения: кнопки, текста и цвета.
но нижняя часть не поменялась, подскажите, что не так?

Re: Урок 11. Папка res/values. Используем ресурсы приложения

Добавлено: 02 окт 2012, 10:16
damager82
dasp писал(а):спасибо. было две опечатки. теперь все исправлено и не чего не ругается.
это вторая часть урока, где мы в ручную кодили для изменения: кнопки, текста и цвета.
но нижняя часть не поменялась, подскажите, что не так?
Если были опечатки, значит код вы набирали сами, а не копировали с урока. Возможно где-то еще сделаны ошибки. Скидывайте сюда код MainActivity, посмотрим.