目的:
用Android studio 编一个菜单动画(点击下拉,再点击收回),初步体验Android studio的基本操作。
技术:
1.RelativeLayout相对布局
2.ImageView width,height,src,center,top.
3.onClicked.点击效果
4.open,close方法.
5.isopen 变量
技术如何使用:(将素材按钮拖到mipmap)
content_main.xml
1.RelativeLayout(相对布局)。
2.width,height设置大小。利用src显示图片。center,top调整布局。
3.onClicked实现点击。
4.用方法open,close来改变按钮状态
5.用isopen变量判断按钮的状态
实际使用
1.获取xml里面所有的图片视图,添加imageView显示视图
<Imageview
android: layout width="60dp
android: ayout_height= 60dp
android: src=@mipmap/a/**(b,c,d...)*/
and4id: layo-centeblrizontal="true
android: layout margin Top="5dp"/>
2.创建数组保存id号
先用一个数组保存所有视图的id号 R.id.iv_b
用一个数组保存所有id号对应的视图
private int[]resID ={R.id.iv_b,R.id.iv_c,R.id.iv_d,R.id.iv_e,R.id.iv_f,R.id.iv_g,R.id.iv_h};
private List<imageViews>=new ArrayList<>();
3.根据id号读取所以图片视图
for (int i =0;i<imageViews.size();i++){
int id =resID[i];
ImageView img =findViewById(id);
imageViews.add(img);}
4.编写open和close函数实现clicked事件
private void close(){
for(int i=0;i<imageViews.size();i++){
//取出一个图片视图
ImageView iv =imageViews.get(i);
//给这个视图添加移动动画
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationY",(i+1)*120f,0f);
oa.setDuration(1000);
oa.start();}
}
private void open(){
for(int i=0;i<imageViews.size();i++){
ImageView iv =imageViews.get(i);
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationY",0f,(i+1)*120f);
oa.setDuration(1000);
oa.setInterpolator(new BounceInterpolator());//差值:回弹效果
oa.start();
}}
5.用isopen变量,利用Boolean函数判断按钮的状态
public void imgCLicked(View view) {
if(isOpen ==true){
//应该关闭 收回列表(下面同理)
close();
}else{
open();
}
isOpen=!isOpen;
/**按钮状态的变换*/
}