gpt4 book ai didi

android - 淡入 Android 启动 Activity

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:05 24 4
gpt4 key购买 nike

在我的发布 Activity 中寻求帮助。我发现了很多关于在有意启动的 Activity 之间淡入淡出的帖子,但没有关于如何在启动 Activity 中淡入淡出的帖子。我试过 overridePendingTransition(int animationIn, int animationOut) 但这对我不起作用。我已经将它放在 onCreate(..) 方法和 onStart(..) 方法中,但都没有成功。任何帮助或指导将不胜感激。

谢谢。

最佳答案

我已经为您做了一些改进,不过它不包括操作栏。为了一个简单的例子,我对 hello world 演示做了一些修改:

  1. 为您的启动器 Activity 设置一个半透明的主题,我称之为半透明:

    /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>

    安卓 list 文件:

    <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 布局创建一个 id,我将其命名为 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);
    }
    }

    (编辑):为了节省一些代码,您还可以使用 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,但它可能是一个开始的东西。

关于android - 淡入 Android 启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29012852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com