私は複数の垂直シークバーを持つビューを持っています。私は親指でテキストを描画しており、進行状況が変化している間に親指の上にフローティングテキストボックスを表示したい。Vertical Seekbarフローティングテキスト問題
進行状況が変化している間に浮動する親指の上にテキストを表示することができます。 OnStopTracking /親指浮動テキストから指を離して表示することはできません。
シークバーを動的に追加しました。私がどのように実装したいかについて、添付のスクリーンショットを見てください。
コードを見てみましょう:複数のシークバーの
実装:以下
for (int i = 0; i <= undertimearray.length - 1; i++) {
LayoutInflater layoutInfralte = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View inflatedView = layoutInfralte.inflate(R.layout.element_sliderandtext, ll_rightside, false);
TextView submittedByTextView = (TextView) inflatedView.findViewById(R.id.txt_underseekbar);
submittedByTextView.setText(undertimearray[i]);
//rl_seekbarandtext=(RelativeLayout)inflatedView. findViewById(R.id.rl_seekbarandtext);
myseekbar = (TextThumbSeekBar) inflatedView.findViewById(R.id.myseekbar);
tvProgress = (TextView) inflatedView.findViewById(R.id.tv_progress);
myseekbar.setMax(50);
ll_tempvalues.post(new Runnable() {
@Override
public void run() {
height = ll_tempvalues.getHeight();
// Log.e("TAG", "TAG" + "=height=" + height);
}
});
ll_rightside.addView(inflatedView);
}
我々は親指上記浮動テキストを表示達成しようとしたものです:
myseekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
final RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.ALIGN_RIGHT, seekBar.getId());
Rect thumbRect = myseekbar.getSeekBarThumb().getBounds();
Log.v("TAG", "ThumbRect Region : " + thumbRect.centerX());
p.setMargins(0, thumbRect.centerY() *12, 0, 0);
// tvProgress.setPadding(thumbRect.centerY() * 2, 0, 0, 0);
tvProgress.setVisibility(View.VISIBLE);
tvProgress.setLayoutParams(p);
//tvProgress.setY(progress * 10);
tvProgress.setText(String.valueOf(progress));
tvProgress.invalidate();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar)
{
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
tvProgress.setVisibility(View.GONE);
}
});
問題を我々は、onStopTrackingTouchが呼び出されていないことに直面しており、このために進捗テキストは隠れていません。また、onTouchEventリスナー内のACTION_CANCELで状態を取得していません。
親指と垂直シークバーのリンクを利用しました。 [親指のリンクと追加されたcanvas.rotate(-90); canvas.translate(-getHeight()、0);垂直シークバー用] 1
親指の上に浮動テキストを追加したいと思います。 –