android2

android2,第1张

概述UI组件1、线性布局<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apkes/android"android:orientation="vertical"android:layout_width="ma

UI组件

1、线性布局

<?xml version="1.0" enCoding="utf-8"?>    <linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"        androID:orIEntation="vertical"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:gravity="right|center_vertical">        <button            androID:ID="@+ID/bn1"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="@string/bn1"/>        <button            androID:ID="@+ID/bn2"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="@string/bn2"/>        <button            androID:ID="@+ID/bn3"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="@string/bn3"/>        <button            androID:ID="@+ID/bn4"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="@string/bn4"/>        <button            androID:ID="@+ID/bn5"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="@string/bn5"/>    </linearLayout>

结果截图

 

 2、表格布局

<?xml version="1.0" enCoding="utf-8"?>    <linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"        androID:orIEntation="vertical"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent">    <!--定义第一个表格布局,指定第2列允许收缩,第3列允许拉伸-->      <tableLayout          androID:ID="@+ID/tableLayout01"          androID:layout_wIDth="match_parent"          androID:layout_height="wrap_content"          androID:shrinkColumns="1"          androID:stretchColumns="2">          <!--直接添加按钮,他会自己占一行-->          <button androID:ID="@+ID/ok1"              androID:layout_wIDth="wrap_content"              androID:layout_height="wrap_content"              androID:text="独自一行的按钮"/>          <!--添加一个表格行-->          <tableRow>              <!--为该表格行添加3个按钮-->              <button androID:ID="@+ID/ok2"                  androID:layout_wIDth="wrap_content"                  androID:layout_height="wrap_content"                  androID:text="普通按钮"/>              <button androID:ID="@+ID/ok3"                  androID:layout_height="wrap_content"                  androID:layout_wIDth="wrap_content"                  androID:text="收缩的按钮"/>              <button androID:ID="@+ID/ok4"                  androID:layout_wIDth="wrap_content"                  androID:layout_height="wrap_content"                  androID:text="拉伸的按钮"/>          </tableRow>      </tableLayout>    <!--定义第二个表格布局,指定第二列隐藏-->    <tableLayout        androID:ID="@+ID/tableLayout02"        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:collapseColumns="1">    </tableLayout>    <!--定义第三个表格布局,指定第2列和第3列可以被拉伸-->    <tableLayout        androID:ID="@+ID/tableLayout03"        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:stretchColumns="1,2">        <!--直接添加按钮,他会自己占一行-->        <button androID:ID="@+ID/ok9"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="独自一行的按钮"/>        <!--添加一个表格行-->        <tableRow>            <!--为该表格行添加3个按钮-->            <button androID:ID="@+ID/ok10"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:text="普通按钮"/>            <button androID:ID="@+ID/ok11"                androID:layout_height="wrap_content"                androID:layout_wIDth="wrap_content"                androID:text="拉伸的按钮"/>            <button androID:ID="@+ID/ok12"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:text="拉伸的按钮"/>        </tableRow>        <tableRow>            <!--为该表格行添加3个按钮-->            <button androID:ID="@+ID/ok13"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:text="普通按钮"/>            <button androID:ID="@+ID/ok14"                androID:layout_height="wrap_content"                androID:layout_wIDth="wrap_content"                androID:text="拉伸的按钮"/>        </tableRow>    </tableLayout>    </linearLayout>

 

 

 

 3、帧布局

实例:霓虹灯效果

<?xml version="1.0" enCoding="utf-8"?><FrameLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"><!--依次定义6个TextVIEw,先定义的TextVIEw位于底层,后定义的TextVIEw位于上层-->    <TextVIEw        androID:ID="@+ID/vIEw1"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center"        androID:wIDth="320pt"        androID:height="320pt"        androID:background="#f00" />    <TextVIEw        androID:ID="@+ID/vIEw2"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center"        androID:wIDth="280pt"        androID:height="280pt"        androID:background="#0f0"/>    <TextVIEw        androID:ID="@+ID/vIEw3"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center"        androID:wIDth="240pt"        androID:height="240pt"        androID:background="#00f"/>    <TextVIEw        androID:ID="@+ID/vIEw4"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center"        androID:wIDth="200pt"        androID:height="200pt"        androID:background="#ff0"/>    <TextVIEw        androID:ID="@+ID/vIEw5"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center"        androID:wIDth="160pt"        androID:height="160pt"        androID:background="#f0f"/>    <TextVIEw        androID:ID="@+ID/vIEw6"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center"        androID:wIDth="120pt"        androID:height="120pt"        androID:background="#0ff"/></FrameLayout>
package com.example.myapplication1;import androIDx.appcompat.app.AppCompatActivity;import androID.os.Bundle;import androID.os.Handler;import androID.os.Message;import androID.Widget.TextVIEw;import java.util.Timer;import java.util.TimerTask;public class MainActivity extends AppCompatActivity {private int currentcolor=0;final int[] colors=new int[]{        R.color.color1,        R.color.color2,        R.color.color3,        R.color.color4,        R.color.color5,        R.color.color6,};final int[] names=new int[]{        R.ID.vIEw1,        R.ID.vIEw2,        R.ID.vIEw3,        R.ID.vIEw4,        R.ID.vIEw5,        R.ID.vIEw6,};TextVIEw[] vIEws=new TextVIEw[names.length];Handler handler=new Handler(){    @OverrIDe    public voID handleMessage(Message msg)    {        //表明消息来自本程序发送的        if(msg.what==0x123)        {            for(int i=0;i<names.length;i++)            {                vIEws[i].setBackgroundResource(colors[(i+currentcolor)%names.length]);            }            currentcolor++;        }        super.handleMessage(msg);    }};    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        for (int i = 0; i < names.length; i++) {            vIEws[i] = (TextVIEw) findVIEwByID(names[i]);        }        //定义一个线程周期性的改变currentcolor变量值        new Timer().schedule(new TimerTask() {            @OverrIDe            public voID run() {                //发送一条空消息通知系统改变6个TextVIEw组件的背景色                handler.sendEmptyMessage(0x123);            }        }, 0, 200);    }}

 

结果截图

 

 

 4、相对布局

实例:梅花布局效果

<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"><!--定义该组件位于父容器中间-->    <TextVIEw        androID:ID="@+ID/vIEw1"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:background="@drawable/leaf"        androID:layout_centerInParent="true"/><!--定义该组件位于vIEw1的上方-->    <TextVIEw        androID:ID="@+ID/vIEw2"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:background="@drawable/leaf"        androID:layout_above="@ID/vIEw1"        androID:layout_alignleft="@ID/vIEw1"/>    <!--定义该组件位于vIEw1的下方-->    <TextVIEw        androID:ID="@+ID/vIEw3"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:background="@drawable/leaf"        androID:layout_below="@ID/vIEw1"        androID:layout_alignleft="@ID/vIEw1"/>    <!--定义该组件位于vIEw1的左方-->    <TextVIEw        androID:ID="@+ID/vIEw4"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:background="@drawable/leaf"        androID:layout_toleftOf="@ID/vIEw1"        androID:layout_aligntop="@ID/vIEw1"/>    <!--定义该组件位于vIEw1的右方-->    <TextVIEw        androID:ID="@+ID/vIEw5"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:background="@drawable/leaf"        androID:layout_toRightOf="@ID/vIEw1"        androID:layout_aligntop="@ID/vIEw1"/></relativeLayout>

 

结果截图

 

 5、网格布局

实例:计算机界面

<?xml version="1.0" enCoding="utf-8"?><GrIDLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:rowCount="6"    androID:columnCount="4"    androID:ID="@+ID/root"><!--定义一个横跨4列的文本框-->    <TextVIEw        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:layout_columnSpan="4"        androID:textSize="50sp"        androID:layout_marginleft="2pt"        androID:layout_marginRight="2pt"        androID:padding="3pt"        androID:layout_gravity="right"        androID:background="#eee"        androID:textcolor="#000"        androID:text="0"/><!--定义一个横跨四列的按钮-->    <button        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:layout_columnSpan="4"        androID:text="清除"/></GrIDLayout>
package com.example.myapplication3;import androIDx.appcompat.app.AppCompatActivity;import androID.graphics.drawable.GradIEntDrawable;import androID.os.Bundle;import androID.vIEw.Gravity;import androID.Widget.button;import androID.Widget.GrIDLayout;public class MainActivity extends AppCompatActivity {GrIDLayout grIDLayout;//定义16个按钮的文本    String[] chars=new String[]        {                "7","8","9","/",                "4","5","6","*",                "1","2","3","-",                ".","0","=","+"        };    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        grIDLayout=(GrIDLayout)findVIEwByID(R.ID.root);        for(int i=0;i<chars.length;i++)        {            button bn=new button(this);            bn.setText(chars[i]);            //设置该按钮的字号大小            bn.setTextSize(40);            //设置按钮四周的空白区域            bn.setpadding(5,35,5,35);            //指定该组件所在的行            GrIDLayout.Spec rowSpec=GrIDLayout.spec(i/4+2);            //指定该组件所在的列            GrIDLayout.Spec columnspec=GrIDLayout.spec(i%4);            GrIDLayout.LayoutParams params=new GrIDLayout.LayoutParams(rowSpec,columnspec);            //指定该组件占满父容器            params.setGravity(Gravity.FILL);            grIDLayout.addVIEw(bn,params);        }    }}

结果截图

 

 6、绝对布局

实例:用户登录界面

 

 

 

总结

以上是内存溢出为你收集整理的android2全部内容,希望文章能够帮你解决android2所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1064462.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存