## 个性化设置
### 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)
>
> `建议使用宽高比模式`