чтение андроида в стиле xml - PullRequest
0 голосов
/ 27 ноября 2010

У меня есть собственный стиль, который я хотел бы применить к своим представлениям. Я не смог создать свои представления программно, а не через XML, так как это динамическое количество контента (одно и то же представление может появляться X раз, но не более 10, поэтому мне не нужен список).

если я могу получить XmlPullParser стиля, я могу легко использовать AttributeSet attrs = Xml.asAttributeSet(parser); и передать его в C'Tor View. Проблема заключается в получении XmlPullParser. getresources (). getX не имеет метода getStyle (). Может быть, я просто выбрал неправильный подход. У кого-нибудь есть идеи, как применить стиль к программному виду?

10x.

хорошо, я попробовал третий подход к C'tpr:

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TextView tv = new TextView(this, null, R.style.my_style_2);
    tv.setText("this should be green!");
    setContentView(tv);
}

и стиль:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="my_style_2">
        <item name="android:textColor">#FF00FF00</item>
        <item name="android:textSize">20sp</item>
    </style>
</resources>

Я не получаю большой зеленый текст. Я получаю размер по умолчанию серый текст ...

Ответы [ 2 ]

2 голосов
/ 27 ноября 2010

Хорошо.Другой способ - просто создать представление программно и использовать параметр стиля внутри конструктора:

Например: TextView myTextView = new TextView (context, null, R.style.myCustomStyle);

1 голос
/ 27 ноября 2010

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

Пример кода:

LayoutInflater l = getLayoutInflater(); // is a method from activity class
for (int i = 0; i < x; i++)
{
    l.inflate(R.layout.custom_list_view_entry,  parentView);
}

custom_list_view_entry.xml в папке res / layout определяет ваш макет записи списка и содержит всю информацию о стиле или более сложную иерархию представлений. parentView - это представление, которое является контейнером для записей списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...