Можно ли центрировать изображение с анимацией из файла XML? - PullRequest
2 голосов
/ 13 февраля 2012

У меня нет проблем сделать это с помощью Java-кода, но мне интересно, возможно ли центрировать imageView благодаря файлу анимации XML.Действительно, мой ImageView находится в линейном разложении с полем 100dp в правом верхнем углу экрана, поэтому, когда я делаю это, изображение не центрируется, а находится в 100dp от верхнего и правого центров:

<?xml version="1.0" encoding="utf-8"?>
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0%"
    android:toXDelta="-50%p"
    android:fromYDelta="0%"
    android:toYDelta="50%p"
    android:duration="1000" 
    android:fillEnabled="false" 
    android:fillAfter="true">
</translate>

РЕДАКТИРОВАТЬ: мой imageView, "cardsPileImage" находится в этом макете:

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

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="100dp"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/cardsPileImage"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:src="@drawable/back"
            android:layout_gravity="right"
            android:layout_marginTop="10dp"
            android:layout_marginRight="10dp"
            android:adjustViewBounds="true">
        </ImageView>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_gravity="center"
            android:gravity="center">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/round_button"
                android:paddingLeft="60dp"
                android:paddingRight="60dp"
                android:textSize="25dp"
                android:text="@string/start_game"
                android:onClick="startGame">
            </Button>

        </LinearLayout>

        <ImageView
            android:id="@+id/discardPileImage"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:src="@drawable/back"
            android:layout_gravity="right"
            android:layout_marginTop="10dp"
            android:layout_marginRight="10dp"
            android:adjustViewBounds="true">
        </ImageView>

    </LinearLayout>

</LinearLayout>

Спасибо вам за аванс: -)

1 Ответ

0 голосов
/ 13 февраля 2012

Да, вы можете сделать это.

Но для этого вы должны принять RelativeLayout, поскольку LinearLayout не сможет сделать это для вашего случая.

Почему вы берете linearLayout на все времена и на все остальные виды ??

Просто используйте этот XML-код с анимацией перевода и попробуйте.

XML:

* * 1010

Если это не сработает, дайте мне знать. :)

Обновлено

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout     
    xmlns:android="http://schemas.android.com/apk/res/android"     
    android:id="@+id/board_layout"     
    android:layout_width="fill_parent"     
    android:layout_height="fill_parent"     
    android:background="#FFFFFF">      

    <RelativeLayout 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_margin="100dp"
        android:gravity="center"
        android:layout_gravity="center">

        <ImageView             
            android:id="@+id/cardsPileImage"             
            android:layout_width="wrap_content"             
            android:layout_height="wrap_content"
            android:src="@drawable/icon"             
            android:layout_gravity="right"     
            android:layout_alignParentRight="true"        
            >         
        </ImageView>
        <Button
            android:layout_below="@+id/cardsPileImage"                 
            android:layout_width="wrap_content"                 
            android:layout_height="wrap_content"                 
            android:background="@drawable/icon"
            android:id="@+id/backButton"                 
            android:layout_centerInParent="true"
            android:textSize="20dp"                 
            android:layout_margin="10dp"
            android:text="Start Game"                 
            android:onClick="startGame">             
        </Button>          

        <ImageView             
            android:id="@+id/discardPileImage"   
            android:layout_below="@+id/backButton"          
            android:layout_width="wrap_content"             
            android:layout_height="wrap_content"             
            android:src="@drawable/icon"             
            android:layout_gravity="right"    
            android:layout_alignParentRight="true"       
            >         
        </ImageView>      

    </RelativeLayout>
</LinearLayout> 
...