如何设置textview的位置

时间:2012-04-13 14:34:35

标签: android animation textview gravity

我想将我的文字设置在我的视图中心。 我知道我需要使用Gravity,但仍然没有看到正确的结果 我只想做动画,从中心下方开始,向右走,然后返回到开始位置 我的代码是

        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>

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

你想什么时候玩动画?

你看到了什么结果呢?

如果您希望立即播放,请使用startAnimation代替setAnimation

编辑:根据您的评论查看您的代码......

如果您希望TextView位于徽标图片下方,则需要从LinearLayout中移除背景,将其方向更改为垂直,并将图像放入{{相反,在ImageView TextView之前。这允许Android按顺序排列......

像这样:

LinearLayout

或者如果您需要将图像作为背景,则可以在 <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> 上方创建一个与图像大小相同的空视图。

答案 1 :(得分:0)

  • 1,Gravity属性对TextView中文本内容的位置有影响,而不是TextView。
  • 第二,TranslateAnimation只移动一次。它不会前后移动,所以你可能需要结合几个TranslateAnimation来实现你想要的东西。
  • 3,用户startAnimation。