Tôi rất mới để lập trình Android, và tôi đã đọc ở khắp mọi nơi và tôi dường như không tìm thấy giải pháp nào.Có thể cho TextView Marquee trong một Widget mở rộng AppWidgetProvider không?
Vấn đề cơ bản là tôi có một TextView trong một tiện ích và tôi muốn văn bản cuộn khi văn bản dài hơn TextView layout_width. Đây là mã của tôi trong 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" />
Bây giờ tôi đọc rằng tôi phải làm cho TextView trở nên tập trung, mà tôi đã làm. Tôi cũng đã đọc rằng bạn cần thiết lập thuộc tính setSelected (true) và đây là nơi tôi đang cố gắng thiết lập. Trong hoạt động mặc định của tôi (trong AndroidManifest.xml) tôi có mã sau đây.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.widget_layout);
findViewById(R.id.fact).setSelected(true);
setContentView(R.layout.main);
}
Phần dưới đây được sử dụng để thiết lập các nội dung để các widget_layout.xml và sau đó thiết lập thuộc tính TextView cho setSelected true
setContentView(R.layout.widget_layout);
findViewById(R.id.fact).setSelected(true);
sau đó tôi trả lại contentView trở lại main.xml
Bây giờ tôi đoán điều này là sai và đây không phải là cách nó nên được thực hiện. Nhưng tôi tự hỏi nếu nó có thể được thực hiện. Tôi cũng đọc rằng nếu bạn có thể ghi đè lên Khung, bạn có thể đặt các thuộc tính của riêng mình vào, ví dụ như ScrollView, điều này có đúng không? Ngoài ra, tôi đang sử dụng phiên bản SDK 7.
Tôi đánh giá cao sự giúp đỡ mà tôi nhận được, cảm ơn tất cả!
Chỉnh sửa: Bằng cách xóa setContentView (R.layout.main); khi khởi chạy ứng dụng thông qua việc vẽ ứng dụng, văn bản sẽ cuộn, nhưng tiện ích thì không. Loại dẫn tôi đến đó một widget không thể có một vùng chọn ??? Có ai có một marquee làm việc trên một widget ??
Chỉnh sửa2: Đã giải quyết. Đây là cách nó được thực hiện
Trong xml cho chế độ xem văn bản, bạn cần phải có thẻ Về cơ bản, tôi nghĩ giống như getSeleted (true);
Vì vậy, các mã nên được như sau:
<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>
Chào mừng bạn đến Stack Overflow! Hãy nhớ chấp nhận câu trả lời nếu câu trả lời giải quyết vấn đề của bạn. –
cổ vũ nhưng giải pháp không hoạt động – Springy
là điều này thực sự làm việc cho u? bởi vì tôi không thể làm cho nó hoạt động ... – Paul