Использовать определенный стиль Android программно? - PullRequest
0 голосов
/ 22 октября 2011

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

Это размещено в отдельном файле макета.Разве нет возможности использовать тот же ресурс программно?

Я пробовал использовать:

TextView tvSeparator = new TextView(context);   
tvSeparator.setBackgroundResource(android.R.drawable.list_selector_background);

Но я не знаю отступов, размера шрифта, стиля шрифта и т. Д.из этого: /

Ответы [ 3 ]

0 голосов
/ 22 октября 2011

Поскольку ресурс, который вы используете, это ресурсы android.R, вы можете сделать следующее:

Файл list_selector_background.xml будет находиться в вашем Android SDK (где бы вы его ни скачали). Ищите его, скопируйте содержимое этого файла в новый файл my_list_selector_background.xml в папке ресурсов (где присутствуют все остальные файлы макетов)

Измените все, что вы хотите изменить в нем - отступ, размер шрифта, что угодно.

Теперь получите доступ к этому ресурсу с вашего R вместо Android.R ..

так что код теперь будет выглядеть так:

TextView tvSeparator = new TextView(context);   
tvSeparator.setBackgroundResource(R.drawable.my_list_selector_background);

Обратите внимание, что вы не можете изменить оригинальный list_selector_background.xml

0 голосов
/ 25 октября 2011

Я справился с этим, просто надувая android.R.layout.preference_category, так как это текстовое поле

0 голосов
/ 22 октября 2011

Вы должны использовать


context.getResources (). GetDrawable (R.id.xxx);


(Может отличаться, просто запомнившись из моей головы..)

...