簡體   English   中英

Android FrameLayout / ImageView旋轉問題

[英]Android FrameLayout/ImageView Rotation issue

我正在旋轉一個包含帶有圖像的Imageview的FrameLayout。當我在旋轉的FrameLayout上添加另一個Imageview時,添加的imageview也會像往常一樣默認旋轉。

為了防止這種情況,因為我不需要旋轉添加的ImageView,所以我以與FrameLayout相反的角度旋轉該ImageView。

我正在使用以下代碼旋轉FrameLayout:

(1)旋轉:

    float angle = mainFrm.getRotation();
    if (angle == 0) {
        angle = 360;
    }
    angle = angle - 90;
    mainFrm.setRotation(angle);

(2)垂直翻轉

    float angle = mainFrm.getRotationX();
    if (angle == 0) {
        angle = 360;
    }
    angle = angle - 180;
    mainFrm.setRotationX(angle);

(3)水平翻轉

    float angle = mainFrm.getRotationY();
    if (angle == 0) {
        angle = 360;
    }
    angle = angle - 180;
    mainFrm.setRotationY(angle);

我正在使用以下代碼旋轉ImageView:

    if(mainFrm.getRotation()!=0)
    {
        iv.setRotation(-(mainFrm.getRotation()));
    }
    if(mainFrm.getRotationX()!=0)
    {
        iv.setRotationX(-(mainFrm.getRotationX()));
    }
    if(mainFrm.getRotationY()!=0)
    {
        iv.setRotationY(-(mainFrm.getRotationY()));
    }

現在我面臨的問題是,當我第一次旋轉框架(270度),然后垂直翻轉(180度),並且在將ImageView添加到該旋轉的框架之后,它也旋轉了ImageView。

在這里,我還要附加圖像。 這是問題

在此處輸入圖片說明

我需要這樣的解決方案

在此處輸入圖片說明

任何幫助/建議將不勝感激。

提前致謝

我的框架布局就像..

<FrameLayout android:id="@+id/frame"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:background="#33ffff">
    <ImageView android:id="@+id/image1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/ic_launcher"/>

    <ImageView android:id="@+id/image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:src="@drawable/ic_launcher"/>
</FrameLayout>

我的Java代碼是

mFrame = (FrameLayout) findViewById(R.id.frame);
    mImage1 = (ImageView) findViewById(R.id.image1);
    mImage2 = (ImageView) findViewById(R.id.image2);
    float angle = mFrame.getRotation();
    if(angle == 0) {
        angle = 180;
    }
    mFrame.setRotation(angle);
    mImage2.setRotation(-angle);

希望這個能對您有所幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM