0

テキストをビューの中央に配置したいと考えています。私は重力でそれを行う必要があることを知っていますが、それでも正しい結果が表示されません ちょうどやりたかったアニメーションは、中央の下から始まり、左右に移動し、開始位置に戻ります 私のコードは

        setContentView(R.layout.logo);
        mTextView = (TextView) findViewById(R.id.textLabel);
    mLayout = new LinearLayout(this); 
        mLayout.setGravity(Gravity.CENTER); 
        mTextView.setGravity(Gravity.AXIS_X_SHIFT/2); 
        mTextView.setGravity(Gravity.AXIS_Y_SHIFT/2-Gravity.AXIS_Y_SHIFT/3); 
        mAnimation = new TranslateAnimation(100f, -100f, 0.0f, 0.0f); 
        mAnimation.setDuration(2000); 
        mTextView.setAnimation(mAnimation);

        mAnimation.start();

xml は次のようになります。

 <ViewFlipper android:id="@+id/flipper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:flipInterval="2000"
        android:layout_marginBottom="20dip" >
<LinearLayout
android:id="@+id/Linear"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/logonews"
android:baselineAligned="false"
android:orientation="horizontal" >

<TextView
    android:id="@+id/textLabel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:text="Israel News"
    android:textSize="18sp"
    android:textStyle="bold"

     />

  </LinearLayout>
  </ViewFlipper>

手伝ってくれてありがとう

4

2 に答える 2

1

いつアニメーションを再生しますか?

代わりにどのような結果が表示されますか?

すぐに再生したい場合は、startAnimation代わりに を使用しsetAnimationます。

編集:あなたが行ったコメントに照らしてコードを見てください...

をロゴ イメージの下に配置する場合TextViewは、背景のドローアブルを から削除し、LinearLayoutその向きを垂直に変更して、イメージを のImageView前に配置する必要TextViewがありますLinearLayout。これにより、Android はそれらを順番に配置できます...

このような:

 <ViewFlipper android:id="@+id/flipper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:flipInterval="2000"
        android:layout_marginBottom="20dip" >
<LinearLayout
android:id="@+id/Linear"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:orientation="vertical" >

<ImageView
    android:src="@drawable/logonews"
    android:scaleType="fitCenter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
>


<TextView
    android:id="@+id/textLabel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:text="Israel News"
    android:textSize="18sp"
    android:textStyle="bold"

     />

  </LinearLayout>
  </ViewFlipper>

または、画像を背景にする必要がある場合は、画像とTextView同じサイズの上に空のビューを作成できます。

于 2012-04-13T14:42:48.493 に答える
0
  • 第 1 に、Gravity 属性は、TextView ではなく、TextView 内のテキスト コンテンツの位置に影響を与えます。
  • 2 つ目は、TranslateAnimation が 1 回だけ直線的に移動することです。前後に移動しないため、必要なものを実装するには、いくつかの TranslateAnimation を組み合わせる必要がある場合があります。
  • 3 つ目は、ユーザー startAnimation です。
于 2012-04-13T15:11:27.833 に答える