1

Android 用の Dateslider をタイム スライダーのみに変更しようとしています。

まで減らしました

ここに画像の説明を入力

私が欲しいのは、時間が「17:00」のとき、17は少し右ではなく真ん中にあるはずです。

基本的に私が望むのは、選択した時間にポインターを置くことです。このように真ん中に置く方が簡単でしょう

ここに画像の説明を入力

だから私の質問は、すでにこのライブラリを使用している人に行きます. 私よりも少しよく理解していて、ここで私を助けることができます.

PS:私はそれが何かに持っていると信じていますScrollLayout.java

4

1 に答える 1

0

わかりました。現在のアルゴは現在の時刻を中央にスクロールします。しかし興味深いのは、現在のタイムビューが 90 (画面に応じて dp 係数を掛けたもの) であるため、タイムビューの中央までスクロールするため、太字の時間が右に表示されることです。したがって、追加の "objWidth/2" をスクロールする必要があります。要するに、これらの2行を変更しますScrollLayout.java

setTime() 関数で

オリジナル int left = (getChildCount()/2)*objWidth-getScrollX()
から
修正int left = (getChildCount()/2)*objWidth-getScrollX()+objWidth/2;

reScrollTo() 関数内 [最後に向かって]

オリジナルint left = (getChildCount()/2)*objWidth-scrollX;
から
修正int left = (getChildCount()/2)*objWidth-scrollX+objWidth/2;

次に、インジケータをdisplayWidth/2に配置します

于 2013-05-06T14:23:14.807 に答える