## 个性化设置 ### 1.只为单独的Activity启动点击效果 不在BaseActivity中初始化,而是在需要启动的Activity中初始化: ``` @Override protected void onCreate(@Nullable Bundle savedInstanceState) { TouchEffectsFactory.initTouchEffects(this); super.onCreate(savedInstanceState); } ``` ### 2.为每个不同类型的View设置不同的点击效果 TouchEffectsManager.addViewType,示例: ``` TouchEffectsManager.build(TouchEffectsWholeType.SCALE) .addViewType(TouchEffectsViewType.ALL) .addViewTypes(TouchEffectsWholeType.RIPPLE,TouchEffectsViewType.TextView) .addViewType(TouchEffectsWholeType.STATE,TouchEffectsViewType.Button); ``` ### 3.在xml中为View设置独立效果 参考[activity_personalized_settings.xml](https://github.com/likaiyuan559/TouchEffects/blob/master/app/src/main/res/layout/touch_effects_activity_personalized_settings.xml),示例: ``` ``` 由于在系统控件中添加自定义属性,所以需要在当前便签或上层标签添加 tools:ignore="MissingPrefix" ### 4.为特殊的Activity设置类型 ``` @Override protected void onCreate(@Nullable Bundle savedInstanceState) { TouchEffectsFactory.initTouchEffects(this,TouchEffectsWholeType.RIPPLE); super.onCreate(savedInstanceState); } ``` `注意:如果已经在BaseActivity添加,由于一个页面不能重复初始化,使用类似下面的方式来设置(具体请参考Demo):` ``` public class TouchEffectsBaseActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { initTouchEffects(); super.onCreate(savedInstanceState); } protected void initTouchEffects() { TouchEffectsFactory.initTouchEffects(this); } } -------------------------------------------- //在需要定制的Activity实现initTouchEffects方法 @Override protected void initTouchEffects() { TouchEffectsFactory.initTouchEffects(this,TouchEffectsWholeType.RIPPLE); } ``` ### 5.为控件更换新效果 > 使用发现,当使用scale效果的时候,当控件宽高比达到一定程度,效果非常差,会使缩放变得特别严重,所以出现这种情况,可以使用个性化中独立为view设置效果,也可以使用下面这种方式为全局达到条件的view转换效果: ``` TouchEffectsManager.build(TouchEffectsWholeType.SCALE) .setAspectRatioType(4f,TouchEffectsWholeType.RIPPLE);//宽高比大于4时启动水波纹 ``` > //传入宽高比,当宽高比达到条件,会自动转换为指定的效果。 > > //1f > setAspectRatioType(float aspectRatio,TouchEffectsWholeType wholeType); > //传入宽和高,多种模式处理 > > //width < 1f 且 height < 1f,则使用宽高比模式,大于指定的宽高比则自动转换为指定效果 > > //width > 1f 或height > 1f,使用宽或高模式,大于指定的其中一个条件,自动转换为指定效果 > > setAspectRatioType(float width,float height,TouchEffectsWholeType wholeType) > > `建议使用宽高比模式`