【问题标题】:How to inform in Android Studio, to one class of IDE, to pass from a screen to another screen, sliding the finger on the screen of the cell phone?如何在Android Studio中通知一类IDE,从一个屏幕传递到另一个屏幕,在手机屏幕上滑动手指?
【发布时间】:2021-05-30 01:39:52
【问题描述】:

我在 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);
    }
}

【问题讨论】:

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


    【解决方案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 应与您的应用程序主题/样式名称相同。并且不要忘记在AndroidManifest.xml 中为Activity2 分配此样式

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

    android:background="@color/background_material_light"
    

    最后,你的滑动代码在onCreate() of Activity2

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

    您现在应该能够滑出Activity2 以返回MainActivity

    【讨论】:

    • 完美答案!非常感谢,Skafle。
    • 如果我的回答解决了您的问题,请将其标记为已接受的答案,以便对其他有相同问题的人有所帮助。
    猜你喜欢
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 2022-12-07
    • 2011-09-25
    • 2023-01-11
    • 1970-01-01
    相关资源
    最近更新 更多