当前位置: 代码迷 >> 综合 >> Android-框架基础(ButterKnife,注解,Animaton)
  详细解决方案

Android-框架基础(ButterKnife,注解,Animaton)

热度:57   发布时间:2023-11-25 13:01:14.0

提取局部变量:Ctrl+Alt+V        提取全局变量:Ctrl+Alt+F           提取方法:Shit+Alt+M

快捷解小心被QQ,搜狗输入法,有道词典占用

变量抽取放到统一地方 

 

 

xml选择器

对于颜色选择也可抽取放到values/color.xml

图片与文字的距离抽取

 

 封装重复的部分 style="@style/main_tab_rb_style"

 

浮点按钮

添加依赖 

最好版本一致

//设置在底部导航栏上
android:layout_above="@+id/fl_main_bottom"

 绑定控件 参考 https://github.com/JakeWharton/butterknife

添加“集成库”依赖

implementation 'com.jakewharton:butterknife:10.2.1'annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'

工程下添加仓库路径

 插件

(1)

  

自动生成,可设置点击事件

 注解

 元注解:基本注解,可应用其他注解之上

 自定义注解

修改

@Retention(RUNTIME) //性能相对没有CLASS要好,运行时注解
@Target(TYPE) //类 接口,注解
public @interface ViewInject {int mainLayout() default -1;//默认为-1
}

@Retention :注解保留期

RetentionPolicy.SOURCE:只在源码中保存,编译之后就被抛弃掉了,只起到一个,如:@Override重写内部

@Retention(CLASS):注解只被保留到编译运行的时候,它并不会被加载到JVM中

@Retention(RUNTIME):注解可保留到程序运行的时候,它会被加载进入到JVM中,所以程序运行的时候可以获取到他们

@Target :作用域

ElementType.ANNOTATION_TYPE 给注解一个注解

ElementType.CONSTRUCTOR 给构造方法一个注解

ElementType.FIELD 给属性注解

ElementType.LOCAL_VARIABLE 给局部变量进行注解

ElementType.METHOD 给方法注解

ElementType.PACKAGE 给包注解

ElementType.PARAMETER  方法类的参数注解

ElementType.TYPE 给一个类型进行注解,比如,类,接口,枚举

 在Activity中调用

@ViewInject(mainLayout = R.layout.activity_main)
//在类上面

但仍然不可使用,可使该类继承BaseActivity,由

public class BaseActivity extends AppCompatActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);ButterKnife.bind(this);//ctrl+alt+F全局变量//:Ctrl+Alt+V局部变量ViewInject annotation = this.getClass().getAnnotation(ViewInject.class);if (annotation != null) {int mainLayoutId = annotation.mainLayoutId();if (mainLayoutId > 0) {setContentView(mainLayoutId);} else {throw new RuntimeException("mainLayoutId<0");}} else {throw new RuntimeException("annotation = null");}}
}

运行测试时出现

 API配置  参考 https://blog.csdn.net/weixin_41101173/article/details/79620490

版本过高,出错参考 https://blog.csdn.net/onlymoon_gy/article/details/80080623

动画 

参考 https://www.jianshu.com/p/420629118c10

(0,0)点

运行

  相关解决方案