如何在Android Studio中通知一类IDE,从一个屏幕转到另一个屏幕,在手机屏幕上滑动手指?

时间:2021-05-30 01:39:52

标签: android android-studio android-layout android-fragments

我在 Android Studio 中创建了两个简单的类:MainActivity 和 Activity2。 我创建了一个代码,当智能手机在 MainActivity 屏幕上时,用户可以滑动自己的手指,从 MainActivity 屏幕转到 Activity2 屏幕。 但是如何告诉 Android 当用户在屏幕上滑动手指时,代码必须从 MainActivity 屏幕传递到 Activity2 屏幕?

请问,有人可以帮我吗?

我写的简单代码:

主要活动:

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import com.r0adkll.slidr.Slidr;
import com.r0adkll.slidr.model.SlidrConfig;
import com.r0adkll.slidr.model.SlidrInterface;
import com.r0adkll.slidr.model.SlidrPosition;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SlidrConfig config = new SlidrConfig.Builder().position(SlidrPosition.RIGHT).build();
        Slidr.attach(this, config);

    }
}

活动 2:

import android.os.Bundle;
import android.view.View;

import androidx.appcompat.app.AppCompatActivity;

import com.r0adkll.slidr.Slidr;
import com.r0adkll.slidr.model.SlidrInterface;

public class Activity2 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_2);
    }
}

1 个答案:

答案 0 :(得分:1)

您正在使用的 Slidr 库通过滑动关闭/关闭活动。 我们通常在这种情况下执行此类操作,例如,我们有 ListActivity 显示项目列表和 DetailsActivity 显示项目详细信息。如果您单击 ListActivity 中的列表项,我们将在 DetailsActivity 中看到它的详细信息。现在,从 DetailsActivity 开始,我们可以将其滑出以返回 ListActivity

因此,堆栈中必须有一个活动要返回。我在这里假设,MainActivity 是您的父活动,您将从 MainActivity 转到 Activity2。 在这种情况下,您尝试关闭 MainActivity 以转到 Activity2。但是,据我所知,您将无法通过此库关闭主机活动。相反,您可以刷掉 Activity2 以返回到 MainActivity

如果您想滑出 Activity2 回到 MainActivity,您可以继续。

在您的 themes.xml/styles.xml 文件中创建新的样式标记并为 Activity2 添加新样式。

<style name="AppTheme.Actiivty2Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
</style>

您可以使用任何名称代替 Actiivty2Theme,但请确保 AppTheme 应与您的应用的主主题/样式名称相同。并且不要忘记为 Activity2

中的 AndroidManifest.xml 分配此样式

将此行添加到 Activity2 的根布局中。

android:background="@color/background_material_light"

最后,您在 onCreate()Activity2 中的滑动代码

SlidrConfig config = new SlidrConfig.Builder().position(SlidrPosition.RIGHT).build();
Slidr.attach(this, config);

您现在应该可以滑出 Activity2 回到 MainActivity