テキスト行が右から左に移動するように、ウォッチにランニング テキストを実装したいと考えています。
私にとってこれを行う最善の方法は、画面の幅で TextView を作成し、そこに最大の paddingLeft でテキストを設定してから、パディングを減らして、テキスト (いくつかの単語) が右から右に移動するようにすることです。左。
だから私の質問は: TextView の属性「paddingLeft」を動的に変更することは可能ですか?
<TextView
android:id="@+id/scrollingText"
android:layout_width="@dimen/smart_watch_2_control_width"
android:layout_height="wrap_content"
android:paddingRight="@dimen/smart_watch_2_control_width"
android:text="Hello world!"
/>
たぶん次のようなもの:
Intent intent = new Intent(Control.Intents.CONTROL_SEND_LAYOUT_INTENT);
intent.putExtra(Control.Intents.EXTRA_LAYOUT_REFERENCE, layoutReference);
intent.putExtra(Control.Intents.EXTRA_PADDING_LEFT, paddingLeft);
controlExtension.sendToHostApp(intent);
Control.Intents に CONTROL_SEND_LAYOUT_INTENT も EXTRA_PADDING_LEFT も存在しないこと、および CONTROL_PROCESS_LAYOUT_INTENT を使用して同様のことができるという事実をよく知っていますが、ドキュメントには次の注意事項があります。
したがって、私の場合、唯一の違いで220個の等しいxmlファイルを作成する必要があります.paddingLeftが220、219、218などに設定され、毎回正しいレイアウトを設定する必要がありますか? それは私には正しく聞こえません:-)
別の回避策は、TextView の代わりに ImageView を使用し、ホスト上で毎回テキストをビットマップに変換し、「setImage」を介してウォッチに更新を送信することです。実際、私はすでにこの方法で実装していますが、実際にはそうではありません。高性能ソリューション ...
次のように、前にスペースを入れてテキストを送信することも考えました。
- "___こんにちは世界!"
- "__こんにちは世界!"
- "_こんにちは世界!"
しかし、私は動きの粒度を上げたいと思っています。
それで、「paddingLeft」を変更する方法について何か考えがある人はいますか?