如何在xml中设置imageview的角度

时间:2012-06-11 07:47:14

标签: android

我在Android应用程序中工作,我想在xml本身中以特定角度设置我的图像视图。我怎样才能做到这一点 ?请帮我。提前致谢。

4 个答案:

答案 0 :(得分:6)

  

我在Android应用程序中工作,我想设置我的图像视图   在xml本身的特定角度。

我不确定上述方法。但是以编程方式可行。

您可以使用矩阵旋转图像。

这是工作代码。

package org.sample;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.widget.ImageView;

public class SampleActivity extends Activity
{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ImageView imageView = (ImageView) findViewById(R.id.image);
        Bitmap bm = BitmapFactory.decodeResource(getResources(),
                R.drawable.image);
        imageView.setImageBitmap(rotate(bm, 45.0f));

    }

    Bitmap rotate(Bitmap src, float degree)
    {
        // create new matrix
        Matrix matrix = new Matrix();
        // setup rotation degree
        matrix.postRotate(degree);
        // return new bitmap rotated using matrix
        return Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(),
                matrix, true);
    }
}

以下是输出

enter image description here

如果你的目标是3.0或以上的平台。那么生活会变得容易一些。 您可以在ImageView中放置以下属性

 <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:rotation="45" />

答案 1 :(得分:1)

在Honeycomb端更新的SDK上,您可以使用XML执行此操作:

android:rotationX="10dp"

答案 2 :(得分:0)

有一种更简单的方法。它使用RotateDrawable。谷歌文档很差,但该功能非常实用。要完成你想要的东西,就这样做:

1 - 在XML可绘制文件中创建Rotate drawable:

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="120"
    android:interpolator="@android:anim/linear_interpolator"
    android:drawable="@drawable/myImageIwantToRotate"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="360"/>

注意&#34; fromDegrees&#34;。这是您希望图像在加载时旋转的角度。如果您不想以编程方式设置动画或旋转,则无需担心&#34; toDegrees&#34;参数。

2 - 将其添加到您的活动布局,就像添加常规图像一样,而是选择刚刚创建的XML文件(步骤1)作为src:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/myDrawableXMLfileName"
    android:id="@+id/myRotatedImageID" />

重要事项:必须在 res / drawable 文件夹中创建旋转可绘制XML文件。

答案 3 :(得分:-1)

我认为你需要使用Camera translate功能来做。

 Camera mCamera = new Camera();
 mCamera.translate(0.0f, 0.0f, -295.0f);

我不确定,但我觉得它对你有帮助。

由于