Затухание в активности запуска Android

Поиск помощи исчезает в моей активности запуска. Я нашел много сообщений о затухании между действиями, которые запускаются с намерениями, но ничего о том, как угасать в вашей активности запуска. Я попробовал overridePendingTransition(int animationIn, int animationOut) но это не сработало для меня. Я поместил его в метод onCreate(..) метод onStart(..) но не увенчался успехом. Любая помощь или направление будут оценены.

Благодарю.

Я сделал что-то для вас, но это исключает панель действий. Я немного изменил демо-версию hello world для простого примера:

  1. Задайте полупрозрачную тему для вашей активности запуска, я назвал ее Translucy:

    /res/values/style.xml

     <style name="Theme.Translucy" parent="android:style/Theme.Translucent"> <item name="android:windowNoTitle">true</item> <item name="android:background">@android:color/transparent</item> </style> 

    AndroidManifest.xml:

     <activity android:name=".MainActivity" android:theme="@style/Theme.Translucy" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 
  2. Создайте идентификатор для основного макета xml, я назвал его rlayout_main и установил его в невидимое:

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:id="@+id/rlayout_main" android:visibility="invisible" android:background="@android:color/holo_blue_dark" tools:context=".MainActivity"> <TextView android:textSize="50sp" android:text="@string/hello_world" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout> 
  3. Создайте AlphaAnimation и анимируйте свой основной родительский макет:

      public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RelativeLayout relativeLayoutMain = (RelativeLayout) findViewById(R.id.rlayout_main); AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1); alphaAnimation.setDuration(3000); alphaAnimation.setFillAfter(true); relativeLayoutMain.startAnimation(alphaAnimation); } } 

    (EDIT): Чтобы сохранить небольшой код, вы также можете использовать ViewPropertyAnimator для анимации макета вместо создания AlphaAnimation:

     public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RelativeLayout relativeLayoutMain = (RelativeLayout) findViewById(R.id.rlayout_main); relativeLayoutMain.animate().alpha(1).setDuration(3000); } } 

Надеюсь, это поможет, как я сказал, что это не идеально, потому что он исключает ActionBar, но с этого может начаться.

Не пробовал, а всего лишь трюк;

Создайте пустую активность и запустите ее. В методе onCreate запустите намерение из этого действия, которое является основным действием, которое вы хотите затухать. Теперь вы можете применить любую анимацию из первого пустого действия. И первая активность не будет влиять ни на что, так как она запускает вторую (основную) деятельность, пока она создана.

Intereting Posts