Я очень новичок в программировании на Android, и я везде читал, и я не могу найти никакого решения.
Основная проблема заключается в том, что у меня есть TextView в виджете, и мне нужен текстпрокручивать, когда текст длиннее, чем TextView layout_width.Это мой код в layout_widget.xml
<TextView android:id="@+id/fact" android:layout_width="200dp"
android:text="Loading... More text to see if it spans or not and want more"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true" />
Теперь я прочитал, что мне нужно сделать так, чтобы TextView был в фокусе, что я и сделал.Я также прочитал, что вам нужно установить свойство setSelected (true) , и это то, где я пытаюсь установить.В моей активности по умолчанию (в AndroidManifest.xml) у меня есть следующий код:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.widget_layout);
findViewById(R.id.fact).setSelected(true);
setContentView(R.layout.main);
}
Часть ниже используется для установки Content на widget_layout.xml, а затем для свойства TextView для setSelected значение true
setContentView(R.layout.widget_layout);
findViewById(R.id.fact).setSelected(true);
Затем я возвращаю ContentView обратно в main.xml
Теперь я предполагаю, что это неправильно, и это не так, как это должно быть сделано.Но мне интересно, можно ли это сделать.Я также читал, что если вы можете переопределить Framework, вы можете поместить свои собственные свойства, например, ScrollView, это тоже правильно?Также я нахожусь на SDK версии 7.
Я высоко ценю помощь, которую я получаю, спасибо всем!
Редактировать: Удаляя setContentView (R.layout.main); при запуске приложения через приложение draw текст прокручивается, а виджет - нет.Вид приводит меня к тому, что виджет не может иметь шатер ???У кого-нибудь есть шатер, работающий над виджетом ??
Edit2: Решено.Вот как это делается
В XML для текстового представления вам нужно иметь тег Это в принципе, я думаю, то же самое, что getSeleted (true);
Так что код должен быть какследуют:
<TextView android:id="@+id/fact" android:layout_width="200dp"
android:text="Loading... More text to see if it spans or not and want more"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:duplicateParentState="true">
<requestFocus android:focusable="true" android:focusableInTouchMode="true"
android:duplicateParentState="true" />
</TextView>