目的
今天,是正式感受Android开发的第一天。而今天课程的主要目的是感受Android开发的魅力和对Android开发产生基本的了解,为后面的学习打好基础。在生活中,我们无时无刻不在接触新事物,只要抓住了机会,调整好心态,在哪里都可以学习到有价值的东西,这就需要我们明确自己的学习目的。学习是为了什么,怎样才能学以致用,是每个人都需要思考的问题。而今天的初体验,就让我们开始明白Android开发是怎么一回事。
技术
- 导入图片资源到应用程序中
- 如何确定图片在视图里面的大小与位置
- 如何将背景设置颜色
- 如何将图片资源使用ID编号
- 利用顺序实现层级关系
- 如何添加点击试件
- 在Java中获取xml里面所有的图片视图
- 读取id号对应图片视图并将其放到ImageViews里面
- 定义一个变量来记录按钮的状态
- 判断点击时按钮是打开还是关闭
- 点击后改变按钮状态
如何使用技术
导入图片到应用程序中
确定好需要的图片资源,然后将其拖入drawable或者mipmap,选中其中一个后,会提示拷入相应目录。
如何确定图片在视图里面的大小与位置
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@mipmap/h"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
/>
如何设置背景颜色
<ImageView
android:background="ff0000"
/>
如何将图片资源使用ID编号
<ImageView
android:id="@+id/iv_h"
android:src="@mipmap/h"
/>
利用顺序实现层级关系
<ImageView
android:id="@+id/iv_g"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@mipmap/g"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
/>
<ImageView
android:id="@+id/iv_h"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@mipmap/h"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
/>
如何添加点击试件
android:onClick="imgClicked"
接着点击imgClicked,接着使用快捷键Alt+Enter以创造方式
在Java中获取xml里面所有的图片视图
1.首先用一个数组保存所有视图的ID号
2.接着用一个数组保存所有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<>();
读取id号对应图片视图并将其放到ImageViews里面
for(int i = 0;i < resID.length; i++){
int id=resID[i];
ImageView img = findViewById(id);
imageViews.add(img);
定义一个变量来记录按钮的状态
private boolean isOpen = false;
判断点击时按钮是打开还是关闭
利用if语句进行判断其状态
if(isOpen == true) {
close();
}else{
open();
}
同时做两个动画,以open函数和close函数使视图达到我们想要的效果,即在y轴上移动,并且时间为一个定值
private void close() {
for (int i = 0;i < imageViews.size();i++){
ImageView iv = imageViews.get(i);
ObjectAnimator oa = ObjectAnimator.ofFloat(iv,"translationY",(i+1)*150f,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)*150f);
oa.setDuration(1000);
oa.setInterpolator(new BounceInterpolator());
oa.start();
}
}
点击后改变按钮状态
public void imgClicked(View view) {
if(isOpen == true) {
close();
}else{
open();
}
isOpen = !isOpen;
}
实际使用
在应用中,点击红色按钮,按钮展开,向下降落,时间为1秒并伴随弹跳效果,在点击一次红色按钮,按钮收起,时间同样为1秒