美文网首页
Android 学习笔记

Android 学习笔记

作者: 定格r | 来源:发表于2018-10-14 21:33 被阅读0次

    一、UI组件

    一.布局管理器

    1.线形布局

    <LinearLayout> </LinearLayout>

    注意:设置属性android:orientation属性,否则有的组件可能无法显示

    常用属性
    • id属性
     android:id="@+id/wo"                     // id 属性
    
    • 宽度
    android:layout_width="wrap_content"       //(wrap_content:根据内容的多少来分配空间)
    android:layout_width="match_parent"    // match_parent:匹配父空间,和父空间的宽度一样
    
    • 高度
    android:layout_height="120dp"       //高度(也可使用以上宽度的属性)
    
    • 外边距
     android:layout_margin="20dp"          //外边距
    
    • 内边距
      android:padding="20dp"       //内边距(注意没有 layout)
    
    • 背景颜色
     android:background="#00E3E3"           //背景颜色
    
    • 全局布局排列方式
    android:orientation="horizontal"        //水平布局
    android:orientation="vertical"            //垂直布局
    
    • 内部布局方式
      android:gravity="center"
    
    • 全重(可用于平分组件)
    android:layout_weight="1"  //子组件所占用父组件的比重
    

    2.相对布局

    <RelativeLayout> </RelativeLayout>

    • 在谁的左边
     android:layout_toLeftOf="@+id/wo"
    
    • 在谁的右边
       android:layout_toRightOf="@+id/ni">
    
    • 和底部对齐
    android:layout_alignBottom="@+id/wo"
    
    • 和父空间的底部对齐
     android:layout_alignParentBottom="true">
    
    • 在谁的下面
    android:layout_below="@+id/wo"
    

    二.TextView & 常见效果制作

    • 文字
    android:text="@string/tv_text"   //引入 string.xml 里面的文字
    android:text="我最厉害"          //直接写入文字
    
    • 文字颜色
     android:textColor="#000000"
    
    • 文字大小
    android:textSize="24dp"
    
    • 限制文字行数,超出不显示
    android:maxLines="1"  //限制文字只能显示一行,如果放不下,就自动省略不写
    
    • 让显示不下的文字以 ... 显示
     android:ellipsize="end"
    
    • 插入图片
    android:drawableRight="@drawable/mi"  // 图片名为 mi.png(必须是.png)
    android:drawablePadding="200dp"   //调整图片的内边距
    
    • 中划线
     mTv4.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG); //中划线 ( mTv4 id名)
    
    • 下划线
    mTv5.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线  ( mTv5 id名)
    //或者
    mTv6.setText(Html.fromHtml("<u>热爱生活</u>"));
    
    • 让文字实现滚动效果
    android:maxLines="1"  //限制文字行数
    android:ellipsize="marquee"  //让显示不下的文字以 ... 显示
    android:marqueeRepeatLimit="marquee_forever"  //设置重复滚动的次数 (marquee_forever无限滚动)
    //一进入一个页面, EditText默认就会自动获取焦点。以下两行就把EditText默认的行为截断了
    android:focusable="true"
    android:focusableInTouchMode="true"  
    

    三、Button & 自定义

    1.自定义背景形状

    drawable ---->右击 --->new--->Drawable resource file
    第二行输入 shape

    image.png
    <shape
        android:shape="rectangle"
        xmlns:android="http://schemas.android.com/apk/res/android"
        >
       <stroke    //边框线
        android:width="10dp"  //边框线的宽度,相当于粗细
        android:color="#ff9900">  //边框线的颜色
       </stroke>
        <corners      //设置弧度大小
            android:radius="2dp">   //弧度的弯曲程度
        </corners>
    </shape>
    

    在背景中引入,便可显示

      android:background="@drawable/File name"
    

    效果图:


    image.png

    2.自定义按压效果

    新建一个Drawable resource file,
    <item></item>来设置按压前以及按压后的效果

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:state_pressed="true">  //按压前
    <shape>
        <solid
        android:color="#aa6600">   //背景颜色
        </solid>
        <corners
        android:radius="5dp">
        </corners>
    </shape>
        </item>
        <item
            android:state_pressed="false">  //按压后
            <shape>
                <solid
                    android:color="#ff9900">  //背景颜色
                </solid>
                <corners
                    android:radius="5dp">
                </corners>
            </shape>
        </item>
    </selector>
    

    3.点击事件

    • 方法一:
      1.新建 java 文件


      image.png

    2.声明元素


    image.png

    3.设置点击事件

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_button);
            mBtn3=(Button)findViewById(R.id.bt_3);      //找到 id
            mBtn3.setOnClickListener(new View.OnClickListener(){  //设置点击事件
                public void onClick(View v){
         //显示点击文字
                    Toast.makeText(ButtonActivity.this,"btn3我被点击了",Toast.LENGTH_SHORT).show();   
                }
            });
        }
    
    • 方法二:
      1.直接自己写方法
     public void showToast(View view){
            Toast.makeText(this,"btn4我被点击了",Toast.LENGTH_SHORT).show();
        }
    

    2.调用方法

      android:onClick="showToast"
    

    相关文章

      网友评论

          本文标题:Android 学习笔记

          本文链接:https://www.haomeiwen.com/subject/azktzftx.html