#c# #android #mono #textview #xamarin.android
#c# #Android #моно #textview #xamarin.android
Вопрос:
Обратите внимание, что я использую Mono для Android
У меня есть список элементов, которые можно расширить, нажав кнопку «Еще» в нижней части списка. Список определен в XML, но кнопка «Еще» — это просто интерактивное текстовое представление, которое добавляется в нижнюю часть списка через addFooterView. Я пытаюсь применить заранее определенный стиль к текстовому представлению, созданному во время выполнения, но он не работает.
mMoreProductsButton = new TextView(this, null, Resource.Style.more_button);
mMoreProductsButton.Text = "More";
mMoreProductsButton.Click = new EventHandler(MoreProductsButton_Click);
mListView.AddFooterView(mMoreProductsButton);
Документация TextView показывает эту подпись: TextView(Context context, AttributeSet attrs, int defStyle)
defStyle
определяется в документации как стиль по умолчанию для применения к представлению. Пример, который я видел в другом месте, передавал null как AttributeSet, но я не уверен, действительно ли это или связано с моей проблемой.
Я обнаружил эту ошибку и не уверен, связана ли она и актуальна: http://code.google.com/p/android/issues/detail?id=12683
Любые предложения приветствуются!
Ответ №1:
Я также искал ответ на этот вопрос. Похоже, это ошибка Android, потому что я не нашел способа применения стиля к созданию представлений. Почему вы не хотите раздувать свой TextView?
Вот так:
layout/my_view.xml
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:style="@style/more_button" />
Активность
TextView mMoreProductsButton = (TextView) getLayoutInflater().inflate(R.layout.my_view, null, false);
Извините, я не знаю, работает ли это в Mono.
Комментарии:
1. Это возможно в Mono, и я делаю это во многих других местах, где я собираю сложные макеты. В этом случае казалось расточительным создавать XML-ресурс, а затем загружать и раздувать его, когда это всего лишь простой TextView. Мне странно, что платформа Android не поддерживает динамическое создание стилизованных элементов.