1.目的
Android开发初体验,今天初次学习了如何利用Android Studio简单开发移动应用里的一个弹出列表的功能,虽然这个功能很简单,但是我这样一个初学Android开发的菜鸟来说也真真实实的感受到了开发的魅力。也因为真是体验到自己的JAVA水平还处在“Hallo Java"这种程度而感到自己要走的路还有很长。
2.技术
1.首先肯定是要先下好Android Studio开发工具,然后创建项目。
2.将图片资源导入到应用程序里面。
3.在创建的项目里面利用xml和java程序设计移动应用的UI界面和相应功能
3.每个技术如何使用
1.创建项目
首先创建一个Basic Activity项目!
2.将所需要的资源导入
这里是图片资源,将其导入到mipmap里面
3.然后利用xml和Java进行设计
其中xml主要是设计移动应用的UI界面JAVA则是实现其功能,要利用自己的所学知识,合理的编写程序语句,以期实现其功能。
4.实际使用
实际使用大部分的精力是花在编写程序和调试的过程中。
1.通过xml文件进行配置图片位置
<ImageView android:id="@+id/iv_b"
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@mipmap/b"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"/>
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@mipmap/a"
android:layout_centerHorizontal="true"
android:onClick="imgClicked"/>
ImageView用来显示一张图片
android:src="@mipmap/a"用来取一张资源。
android:layout_centerHorizontal="true"使图片居中。
android:layout_marginTop="5dp"使b到h图片与顶部有间距。
android:onClick="imgClicked"加点击事件,onClick表明是自己写的imgClicked。
2.编写imgClicked方法
获取xml里面所有的图片视图
android:id="@+id/iv_b给从b到h每一个视图加id号
在java程序里面用一个数组保存所有视图的id号,然后用一个数组保存所有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<ImageView>imageViews = new ArrayList<>();
然后利用for循环将id号对应视图读取出来,放到ImageViews里面
for(int i=0;i<resID.length;i++){
int id = resID[i];
ImageView img = findViewById(id);
imageViews.add(img);
实现的方法
public void imgClicked(View view) {
if(isOpen==true){
close();
}else{
open();
}
isOpen = !isOpen;
}
private void close(){
for(int i=0;i<imageViews.size();i++){
ImageView iv = imageViews.get(i);
ObjectAnimator oa =ObjectAnimator.ofFloat(iv,"translationY",(i+1)*80f,0f);
oa.setDuration(500);
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)*80f);
oa.setDuration(1000);
oa.setInterpolator(new BounceInterpolator());
oa.start();
}
}
}
1.该方法定义了isOpen变量记录按钮的状态
2.if用来判断列表是打开还是关闭
3.打开时应该关闭
4.关闭时应该打开
5.close方法用来关闭列表
6.open方法用来打开列表
7.给视图添加动画如下程序
ObjectAnimator oa =ObjectAnimator.ofFloat(iv,"translationY",0f,(i+1)*80f);
oa.setDuration(1000);
oa.setInterpolator(new BounceInterpolator());
oa.start();