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