美文网首页
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