# komi-slider **Repository Path**: mirrors/komi-slider ## Basic Information - **Project Name**: komi-slider - **Description**: 可以滑动页面的项目 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/komi-slider - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2017-04-03 - **Last Updated**: 2026-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Slider 说明 =================================== 1.slider重在让特定的页面具备滑动功能操作
2.slider在此版本只需通过简单的继承、xml布局或者直接将上面3种类型对象通过SliderUtils类即可具备滑动功能
![Slider](images/s1.gif "Gif Example 1") ![Slider](images/s2.gif "Gif Example 2") ![Slider](images/s3.gif "Gif Example 3") ![Slider](images/s4.gif "Gif Example 4") ## 使用方法 1.目前支持activity、fragment、dialogfragment、dialog、view的滑动
2.通过如下简单操作,即可让页面具备滑动功能。
```java public class SampleActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_slider); SliderUtils.attachActivity(this, mConfig); } } ``` 亦或通过简单的继承: ```java public class ExtendsActivity extends SliderActivity { } ``` 或者是直接通过xml布局,就可以让子View具备滑动功能 ```xml ``` 需要注意的是activity在manifest下配置theme需复写android:windowIsTranslucent,否则拉开的背景会全黑。 ```xml ``` 如果设备版本大于android 5.0,也可以如下代码。在低于5.0版本下如何能在代码中修改,目前没有深入,所以在此也希望大家能共同完善! ```java SliderUtils.attachUi(this, null); Utils.convertActivityToTranslucent activity) ``` 关于fragment和view实现滑动功能,也基本可以通过类似的方式进行。而fragment不受android:windowIsTranslucent的影响。 ```java public class SampleFragment extends Fragment { private ISlider iSlider; private View rootView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.fragment_sample, container, false); SliderUtils.attachFragment(this, rootView,null) return iSlider.getSliderView(); } } ``` 或者通过继承,需要注意的是:在SliderFragment中onCreateView由于已经被final覆写了,所以要实现另一个抽象方法 creatingView并返回当前layout的inflate对象。 ```java public class ExtendsFragment extends SliderFragment { @Override public View creatingView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_entends, container, false); } } ``` 继承SliderDialogFragment或者通过SliderUtils.attach*方法加入 ```java public class SlidabelDialogFragment extends DialogFragment { protected ISlider iSlider; @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); iSlider = SliderUtils.attachDialog(getActivity(),getDialog(),mConfig); } } ``` Dialog则通过SliderUtils.attachDialog方法加入即可滑动,具体更多细节可自定义. ### SliderConfig、ISlider、SliderListener、SlidableMode 1.如果你想改变Slider的一些属性,可以在任何地方通过iSlider来设置或者在初始化的时候传入,或者通过xml传入,也可以获得slider控件对象来直接修改你想要的属性,方式多种多样。
```java iSlider.setConfig(mConfig); ``` 2.ISlider是在SliderUtils.attach*方法返回的接口对象,通过该接口可以操作或者获得Slider对象。
3.SliderListener可以通过slider对象或者SliderConfig传入,监听滑动状态。
4.SlidableMode:ALL:所有slider的子控件可滑动,custom:传入的自控件可以滑动,single:index为最后的子控件可滑动
5.其他更多各位可以参考代码。
### 使用项目 在项目的build.gradle文件中添加库依赖 ```java dependencies{ compile 'com.komi.slider:slider:0.4.0' } ``` ### Issues 1.欢迎大家发现问题与共同维护该项目,喜欢就Star吧,关注项目后面会扩展更多实用功能!
2.如果大家发行有什么Bug或建议都可以通过issues反馈过来,本人有时间会尽量去优化,也愿意和大家一块共同开发此项目!
3.此项目灵感源于[SwipeBackLayout](https://github.com/ikew0ng/SwipeBackLayout)和[Slidr](https://github.com/r0adkll/Slidr)开源项目进行功能的扩展补充
4.补充:在此请求英语大神的帮助翻译本项目中译英README文档和代码注释,非常感谢!
## 项目作者 **[KobeKomi](https://github.com/KobeKomi)**