中级实训Android学习记录——项目1、2重铸记录
学习记录 2020/11/25
制作项目1
-
遇到的问题
-
引入的图片的命名应该全为小写字母、数字、下划线的组合,否则运行时报错
-
在运用ImageButton时,如果使用的是
android:src="@drawable/spanish"
会因为图片拉伸问题,在ImageButton周围出现灰色边框,要去掉灰色边框,将上面的代码改成下面的代码即可
android:background="@drawable/spanish"
-
用layout_width和layout_height设置高度和宽度后,使用
android:scaleType="fitXY"
可以将内容拉伸至填满整个组件(图片拉伸应用)
-
想要使用ImageButton,并让图片跟随Button一起圆角化,但是做不到,最后利用cardView才做到:
<androidx.cardview.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" app:cardCornerRadius="20dp" android:layout_margin="10dp" > <ImageButton android:layout_width="150dp" android:layout_height="150dp" android:scaleType="fitXY" android:background="@drawable/spanish" /> </androidx.cardview.widget.CardView>
在ImageButton外面框一个cardView,设置cardView的cardCornerRadius即可
-
使用selector的xml来定义点击和非点击的图标
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:drawable="@drawable/book1"></item> <item android:state_selected="false" android:drawable="@drawable/book"></item> </selector>
将selected和unselected的图标改成自定义的图标即可
-
-
项目一完成,文件夹为Application1
-
准备项目二,文件夹为MyApplication5
制作项目二
-
进行动画绘制时,需要先在res文件夹下创建anim文件夹,然后他才会出现可以放set的文件类型,在set中实现一系列的动画即可
-
在进行Fragment之间的数据传输,运用Fragment的newInstance方法来传递参数以达到目的
-
发现boolean和Integer之间是不能转化的,很诡异
-
渐变是利用shape类型的xml文件创建的,使用gradient标签就行
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#ff0000" android:endColor="#0400ff" android:angle="315"></gradient> </shape>
像以上代码,就产生左上角红色到右下角蓝色的渐变
需要特别注意的是,这里的angle只能是45的倍数
-
使用ImageButton会出现一堆问题,不如直接使用TextView,可以达到相同的效果,如改变ImageButton的background不能真正地实现渐变色,而使用TextView就很简单,初步排查可能觉得ImageButton的backgroundTint这个属性是固定的,网络检索是渲染效果,但是没有解决问题的方法。