开源软件名称(OpenSource Name):r0adkll/Slidr开源软件地址(OpenSource Url):https://github.com/r0adkll/Slidr开源编程语言(OpenSource Language):Java 100.0%开源软件介绍(OpenSource Introduction):SlidrEasily add slide-to-dismiss functionality to your Activity by calling UsageAn example usage: public class ExampleActivity extends <Activity|FragmentActivity|ActionBarActivity> {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
int primary = getResources().getColor(R.color.primaryDark);
int secondary = getResources().getColor(R.color.secondaryDark);
Slidr.attach(this, primary, secondary);
}
} or public class ExampleActivity extends <Activity|FragmentActivity|ActionBarActivity> {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
Slidr.attach(this);
}
} FragmentsThe activity must extend FragmentActivity.
Set the background to the main container of the activity in the xml // This interface is needed to see if the fragment
// is resuming after creation (Slidr to be attached) or
// simply from the background (app was paused before).
SlidrInterface slidrInterface;
@Override
public void onResume() {
super.onResume();
if(slidrInterface == null)
slidrInterface = Slidr.replace(getView().findViewById(R.id.content_container), new SlidrConfig.Builder().position(SlidrPosition.LEFT).build());
} In the xml of the fragment's view, the root view must be a FrameLayout with the same background set to the activity before. Add a child viewgroup to it with the id content_container. E.g.: <FrameLayout
android:id="@+id/main_container"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/content_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
...other stuff
</android.support.design.widget.CoordinatorLayout>
</FrameLayout> Remember: you have to add new Fragments with: getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, YourFragmentClass.newInstance())
.commit(); where fragment_container is the id of a FrameLayout inside the activity's xml. ConfiguringSlidrConfig config = new SlidrConfig.Builder()
.primaryColor(getResources().getColor(R.color.primary)
.secondaryColor(getResources().getColor(R.color.secondary)
.position(SlidrPosition.LEFT|RIGHT|TOP|BOTTOM|VERTICAL|HORIZONTAL)
.sensitivity(1f)
.scrimColor(Color.BLACK)
.scrimStartAlpha(0.8f)
.scrimEndAlpha(0f)
.velocityThreshold(2400)
.distanceThreshold(0.25f)
.edge(true|false)
.edgeSize(0.18f) // The % of the screen that counts as the edge, default 18%
.listener(new SlidrListener(){...})
.build();
Slidr.attach(this, config);
SlidrInterface.lock();
SlidrInterface.unlock(); These methods lock or unlock the slidable touch interface. The theme that you use for your sliding activity must have these attributes set: <item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item> Then in the layout of your activity you must give it a background like this; <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_material_light">
... Including in your projectInclude this line in your gradle build file: implementation 'com.r0adkll:slidableactivity:2.1.0' Author
License
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论