動いている「フローティング」テキストを作業中のアプリケーションに追加したいと思います。
次のような基本的なレイアウトを備えた実用的なアプリケーションがあります。
<LinearLayout>
<TextView />
<TextView />
</LinearLayout>
私のアプリは TextViews を動的に追加するので、スクロールビューが必要です...
ユーザーがどこかをクリックするたびに「+1」が表示され、上に浮かんで(移動して)画面の上部に消えるなど、小さな表示が必要です。どなたか簡単な方法を教えていただけるとありがたいです。
TextView
動的に作成してレイアウトに追加する必要がありますか?- テキストを相対的に移動できるように、ScrollView に重なる相対的なレイアウトを追加する必要がありますか?
- 自分で作ったキャンバスに描いてみようかな。
- を使用して、
ObjectAnimator
すべて「アニメーション化」する必要がありますか?
私はこれらの経験がないので、これらすべてを試す前に、誰かが最も簡単なルートを教えてくれることを願っています...
アップデート:
特定の位置に「ホバリング」テキスト ビューを作成できました (まだ動きはありません)。
- 以前のレイアウトにルート レイアウトとして RelativeLayout を追加しました。
フローティング テキストのレイアウトを作成しました。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/floatingViewLinearLayout" > <TextView /> </LinearLayout>
それを処理するコスチューム ビューを作成しました。
public class FloatingText extends View {
private View floatingLayoutView;
public FloatingText(Context context) {
super(context);
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
floatingLayoutView = inflater.inflate(R.layout.floating_text, null);
TextView tv = (TextView) floatingLayoutView
.findViewById(R.id.flaotingViewTextView);
tv.setText("+1");
tv.setBackgroundColor(Color.TRANSPARENT);
tv.setTextColor(Color.RED);
tv.setTypeface(Typeface.MONOSPACE);
tv.bringToFront();
}
public View getFloatingLayoutView() {
return floatingLayoutView;
}
}
ビューを受け取る get メソッドを追加したことに注意してください。これは恐ろしい解決策だと確信しています。次に、私がそれをどのように使用したかを見ることができます:
メイン アクティビティの onResume に次のコードを追加します。
RelativeLayout main = (RelativeLayout) findViewById(R.id.MainRelativeLayout); FloatingText ft = new FloatingText(this); final View floatingLayoutView = ft.getFloatingLayoutView(); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams( new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); lp.setMargins(140, 300, 0, 0); floatingLayoutView.setLayoutParams(lp); main.addView(floatingLayoutView);
FloatingText クラスに addView 自体を実行させたいのですが、それを行うためのクリーンな方法についてはまだわかりません。
次の課題は、API 8 と互換性のある方法でアニメーション化することです。API 11 でアニメーション ヘルパーが追加され、API 12 で一部 (amAlsoNew が言及した viewproperanimator など) が追加されたようです。
繰り返しになりますが、ポインタやイセアは大歓迎です!