旋转按钮上的文本

时间:2011-08-05 07:32:34

标签: android button

HY!

我在android上创建了一个按钮,其中文本如下所示:http://i51.tinypic.com/2u4oaww.png 它看起来像是因为活动处于landscape模式。我接下来想要的是旋转按钮上的文本以使其正常显示,但我可以弄清楚如何做到这一点。

我试过动画,像这样:

res/anim/myanim.xml

<rotate  xmlns:android="http://schemas.android.com/apk/res/android"
           android:fromDegrees="0" 
           android:toDegrees="180"
           android:pivotX="50%"
           android:duration="0" />

 takePhoto = (Button) findViewById(R.id.btnPhoto);
        takePhoto.setText(t);
        RotateAnimation ranim = (RotateAnimation)AnimationUtils.loadAnimation(this, R.anim.myanim);
          ranim.setFillAfter(true);
        takePhoto.setAnimation(ranim);

但是当我这样做时,我的button将不再出现在屏幕上! 有人能告诉我怎么解决这个问题?谢谢

编辑:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:orientation="horizontal">
    <LinearLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical"
    android:layout_weight="1.0">
      <SurfaceView  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
   android:id="@+id/surface_camera"
    />

    </LinearLayout>
    <LinearLayout android:layout_width="90dip"
    android:layout_height="fill_parent">
        <Button 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:id="@+id/btnPhoto"
    android:text="Take Photo"
    android:layout_gravity="bottom|left" 
/>
    </LinearLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:5)

这应解决问题。

<?xml version="1.0" encoding="utf-8"?>
<rotate  xmlns:android="http://schemas.android.com/apk/res/android"
       android:fromDegrees="0" 
       android:toDegrees="-90"
       android:pivotX="50%"
       android:pivotY="50%"
       android:duration="0" />

首先,你似乎想要将它旋转90 ccw而不是180.另外如果你将持续时间设置为4秒的重要时间,你会发现在你的代码中按钮将在容器外部转动变得不可见,这就是你必须在按钮中心转动的原因。