• 中级实训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这个属性是固定的,网络检索是渲染效果,但是没有解决问题的方法。

  • 相关阅读:
    C# 时间+三位随机数
    dataGridView加行标识方法与制作
    MySql多列查询
    php 去掉字符串的最后一个字符
    DataTable 排序
    汇编第一个程序 Hello World (初学者与入门)
    C# 获取前一天,明天,本周,上周,本季度等!
    php 字符串中任意添加
    天涯论坛的经典回帖!!!
    系统时间同步
  • 原文地址:https://www.cnblogs.com/lwfing/p/14053980.html
Copyright © 2020-2023  润新知