Вопрос по Transition

Ответить
alogin
Сообщения: 6
Зарегистрирован: 14 янв 2012, 17:53

Вопрос по Transition

Сообщение alogin » 31 янв 2012, 21:15

Собственно есть простенькая прога, которая должна по нажатию экрана менять картинки на нем

есть файл transition.xml который лежит в /res/drawable
его код

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/photo1"></item>
  <item android:drawable="@drawable/photo2"></item>
</transition>
Есть файл main.xml где создан imageview через который будут выводиться картинки
его код

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center">
    
	<ImageView 
		android:id="@+id/image" 
		android:layout_width="wrap_content" 
		android:layout_height="wrap_content" 
		android:src="@drawable/photo1"/>
</LinearLayout>
и есть MainActivity в котором прописано что по нажатию на экран плавно меняется картинка на следующую
Код:

Код: Выделить всё

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.TransitionDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;

public class MainActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
	private ImageView image;
	private TransitionDrawable mTransition;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        image = (ImageView) findViewById(R.id.image);
        image.setOnClickListener(this);
        
        Resources res = this.getResources(); 
        mTransition = (TransitionDrawable)res.getDrawable(R.drawable.transition); // берем в mTransition ресурс из transition.xml
    }

	public void onClick(View arg0) {
		// TODO Auto-generated method stub
		image.setImageDrawable(mTransition); // выводим ресурс из transition.xml
		mTransition.startTransition(1000); // плавная анимация перехода 
	}
}
Собставенно оно все работает, все класно, все меняется когда нажимаешь, вопрос в следующем:
Если мы прописываем в transition.xml больше 2х item'ов , то по идее оно должно ипользовать все их, а оно использует только первые 2, вопрос в том, что задумано ли так что оно используется только первые 2 или я что то не так понимаю или пишу что то не так???

код transition.xml

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/photo1"></item>
  <item android:drawable="@drawable/photo2"></item>
  <item android:drawable="@drawable/photo3"></item>
  <item android:drawable="@drawable/photo4"></item>
</transition>
В принципе код элементарный, ничего сверхъестественного нету, объясните что не так ?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Вопрос по Transition

Сообщение damager82 » 01 фев 2012, 17:03

alogin писал(а):Если мы прописываем в transition.xml больше 2х item'ов , то по идее оно должно ипользовать все их, а оно использует только первые 2, вопрос в том, что задумано ли так что оно используется только первые 2 или я что то не так понимаю или пишу что то не так???
Так и задумано.
Цитата из этого хелпа: "A TransitionDrawable is a drawable object that can cross-fade between the two drawable resources."
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

alogin
Сообщения: 6
Зарегистрирован: 14 янв 2012, 17:53

Re: Вопрос по Transition

Сообщение alogin » 01 фев 2012, 19:17

епт, тогда понятно, пардон за глупый вопрос, не дочитал :)

Ответить