TextView с шатром не работает
Несмотря на то, что мне удалось сделать marquee TextView
, Как я следовал учебнику, и он работает правильно, когда я попытался сделать другой TextView
в другой деятельности, как marquee
это не сработало. Я последовал тому же самому шагу точно, но безрезультатно. как ты думаешь, чего мне не хватает?
обновление
Я думаю, что проблема заключается в focus
представлении, потому что я проверил, имеет ли TextView
фокус даже после вызова imgPathTv.setSelected(true)
, и в результате он не имеет сосредоточить.
Updated_Code
String imgPath = dataBaseRow.getImgPath();
if (imgPath.equals("")) {
Log.d(TAG, "@createInfoReport(): dataBaseRow.getImgPath() Returns NULL");
imgPathTv.setText("NULL");
}else {
Log.d(TAG, "@createInfoReport(): dataBaseRow.getImgPath() Has Value");
imgPathTv.setSelected(true);
imgPathTv.setText(imgPath);
if(imgPathTv.findFocus() != null) {
Toast.makeText(getApplicationContext(), "there is a View has the Focus", Toast.LENGTH_SHORT).show();
}else
Toast.makeText(getApplicationContext(), "NO View has the Focus", Toast.LENGTH_SHORT).show();
}
Java_Code:
TextView imgPathTv = (TextView) mDialog.findViewById(R.id.imgPathValue);
Log.i(TAG, "@createInfoReport(): imgPathTv IS IN FOCUS");
imgPathTv.setSelected(true);
TextView_xml:
<TextView
android:id="@+id/imgPathValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:fadingEdge="horizontal"/>
2 ответа:
Возможно, длина вашего текста недостаточно велика, чтобы маркер работал. Другими словами, маркер работает только тогда, когда текст находится на расстоянии, превышающем его соответствующую ширину/площадь. Итак, я рекомендую попробовать установить
android:layout_width
, чтобы быть, например,200dp
или даже больше. затем попробуйтеmarquee
. Надеюсь, это поможет.
Может быть, не ответ на решение, но должен показать код. Работает ли он, если задать следующие параметры? Я не думаю, что cursorVisible важен для этого, но, возможно, полосы прокрутки и focusableInTouchMode. Я попробовал его с этими параметрами, и это сработало.
android:scrollbars="horizontal" android:cursorVisible="false" android:focusableInTouchMode="true"