MCPcopy Index your code
hub / github.com/ikew0ng/SwipeBackLayout

github.com/ikew0ng/SwipeBackLayout @main sqlite

repository ↗ · DeepWiki ↗
166 symbols 333 edges 10 files 73 documented · 44%
README

SwipeBackLayout

An Android library that help you to build app with swipe back gesture.

Demo Apk

GooglePlay

Requirement

The latest android-support-v4.jar should be referenced by your project.

Usage

  1. Add SwipeBackLayout as a dependency to your existing project.
  2. To enable SwipeBackLayout, you can simply make your Activity extend SwipeBackActivity:
    • In onCreate method, setContentView() should be called as usual.
    • You will have access to the getSwipeBackLayout() method so you can customize the SwipeBackLayout.
  3. Make window translucent by adding <item name="android:windowIsTranslucent">true</item> to your theme.

Simple Example

public class DemoActivity extends SwipeBackActivity implements View.OnClickListener {
    private int[] mBgColors;

    private static int mBgIndex = 0;

    private String mKeyTrackingMode;

    private RadioGroup mTrackingModeGroup;

    private SwipeBackLayout mSwipeBackLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_demo);
        changeActionBarColor();
        findViews();
        mKeyTrackingMode = getString(R.string.key_tracking_mode);
        mSwipeBackLayout = getSwipeBackLayout();

        mTrackingModeGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                int edgeFlag;
                switch (checkedId) {
                    case R.id.mode_left:
                        edgeFlag = SwipeBackLayout.EDGE_LEFT;
                        break;
                    case R.id.mode_right:
                        edgeFlag = SwipeBackLayout.EDGE_RIGHT;
                        break;
                    case R.id.mode_bottom:
                        edgeFlag = SwipeBackLayout.EDGE_BOTTOM;
                        break;
                    default:
                        edgeFlag = SwipeBackLayout.EDGE_ALL;
                }
                mSwipeBackLayout.setEdgeTrackingEnabled(edgeFlag);
                saveTrackingMode(edgeFlag);
            }
        });
    }
...

Download

Download via Jcenter:

compile 'me.imid.swipebacklayout.lib:library:1.1.0'

Support

Pull Requests

I will gladly accept pull requests for fixes and feature enhancements but please do them in the develop branch.

License

Copyright 2013 Isaac Wang

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Extension points exported contracts — how you extend this code

SwipeBackActivityBase (Interface)
@author Yrom [4 implementers]
library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackActivityBase.java
SwipeListener (Interface)
(no doc) [2 implementers]
library/src/main/java/me/imid/swipebacklayout/lib/SwipeBackLayout.java
SwipeListenerEx (Interface)
(no doc) [1 implementers]
library/src/main/java/me/imid/swipebacklayout/lib/SwipeBackLayout.java

Core symbols most depended-on inside this repo

setDragState
called by 8
library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java
tryCaptureViewForDrag
called by 8
library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java
findTopChildUnder
called by 7
library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java
cancel
called by 6
library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java
onEdgeTouched
called by 4
library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java
clampMag
called by 4
library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java
saveInitialMotion
called by 4
library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java
checkNewEdgeDrag
called by 4
library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java

Shape

Method 152
Class 11
Interface 3

Languages

Java100%

Modules by API surface

library/src/main/java/me/imid/swipebacklayout/lib/ViewDragHelper.java63 symbols
library/src/main/java/me/imid/swipebacklayout/lib/SwipeBackLayout.java38 symbols
samples/src/main/java/me/imid/swipebacklayout/demo/DemoActivity.java16 symbols
samples/src/main/java/me/imid/swipebacklayout/demo/PreferenceUtils.java13 symbols
library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackPreferenceActivity.java7 symbols
library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackActivity.java7 symbols
library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackListenerActivityAdapter.java6 symbols
library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackActivityHelper.java6 symbols
library/src/main/java/me/imid/swipebacklayout/lib/Utils.java6 symbols
library/src/main/java/me/imid/swipebacklayout/lib/app/SwipeBackActivityBase.java4 symbols

For agents

$ claude mcp add SwipeBackLayout \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact