Android开始基础

本文详细介绍了Android应用的启动流程,从解析AndroidManifest.xml文件到Activity的启动过程,并深入探讨了Android四大组件的功能与应用场景。此外,还具体讲解了几种常用的布局方式及其属性,包括线性布局、相对布局等,并提供了QQ登录界面的实际布局代码。

                     记录一下近段时间的学习内容,也希望看到的有异议的网友指出错的地方,交流交流。

                      引入的时候,他用了UI的控件属性,简单节奏又慢!

                                Android的启动流程:1.Android程序启动操作系统首先访问AndroidMainfest.xml(主配置)文件。(
                                                 2.通过主配置文件决定启动哪一个Activity(一般是MainActivity)。

                                                并且复写 调用onCreate()方法。
                                              3.在onCreate()方法中会读取activity_main.xml布局文件,来决定应该显示的内容。

 

       

                       二Android程序的四大组件:

                                                             1.Activity:是最常用的组件,是应用程序的门户,负责与用户进行交互。
                                                                     类似网站中的网页。
                                                             2.Service:在程序的后台承担数据处理工作,比如网络连接下载等。
                                                             3.ContentProvider:用来管理和共享应用程序的数据存储,比如电享。
                                                             4:BroadcastReceiver:监听手机系统并发送广播,比如手机电量低的提
                                                                示等

                   三关于avtivity组件:  

                                                   1.在Android中,每一个Activity就是一个单独的屏幕显示。
                                                   2.每个Activity组件都由XML布局文件、Java代码文件以及Activity组件状态来确定在屏幕上显示的内容。
                                                   3.布局文件放在res/layout目录下,布局文件定义了Activity的显示内容。
                                                   4.在应用项目目录下的src目录的包内,存放定义此Activity类的java代码文件。在代码文件中定义Activity的显示时机,以及用户交互操作时各控件的事件响应等控制逻辑。

                四控件布局:是指在Activity中控制各个控件的摆放位置、大小、颜色、属性的方法。

                      常见的布局方式:
                      1.线性布局(LinearLayout)
                       2.帧布局(FrameLayout)
                       3.表格布局(TableLayout)
                        4.相对布局(RelativeLayout)
                         5.绝对布局(AbsoluteLayout)

                 五.线性布局常用属性

                             1android:background    设置背景颜色或背景图片
                             2 android: orientation    设置排列方向,
                                               Horizontal表示横向,
                                               vertical表示纵向
                             3.android:gravity     设置内部显示对象的位置对齐方式
                             4.android:layout_width    设置宽度,
                                                match_parent表示填充整个父控件,
                                                 wrap_content表示充满内容。
                             5.android:layout_weight     按比例划分空间:子空间并未占满父控件的所有空间
                                                    Layout_weight的值用于指定空闲空间的分配比例这个参数用整数表示
                                                                            
                  六.gravity和layout_gravity比较  

                             1. android:gravity用于设置这View内的所有子元素的对齐方式
                             2.android:layout_gravity用于设置这个View在其父容器中的对齐方式
                             3.gravity可取的属性值:

                                                                  top:对齐到父控件顶部
                                                                  bottom:对齐到父控件底部
                                                                  left:对齐到父控件左边
                                                                  right:对齐到父控件右边
                                                                  center_vertical:对齐到父控件纵向中央位置
                                                                  center_horizontal:对齐到父控件横向中央位置
                                                                   center:对齐到父控件中央位置 


                            注意:关于layout_gravity
                                      当 android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
                                         当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
                    七。相对布局:1.相对布局是一种应用广泛的布局方式
                                              2.相对布局是通过指定当前控件与兄弟控件或者是父控件之间的相对位置,从而达到控制控件位置的目的。
                                              3.如无指定,控件默认在屏幕左上角   

                    八。相对布局的常用属性

 相对布局属性(1)
1.android:layout_below
 2.android:layout_above
    3.android:layout_toLeftOf
      4.android:layout_toRightOf
相对布局属性(2)
    1.android:layout_alignLeft
       2.android:layout_alignRight
    3.android:layout_alignTop
         4.android:layout_alignBottom
相对布局属性(3)
1.对齐至控件的基准线:
layout_alignBaseline
       2.与父控件的四个边缘对齐:
                                         layout_alignParentLeft   layout_alignParentRight
                                            layout_alignParentTop  layout_alignParentBottom
3.对齐至父控件的中央:
                                             layout_centerInParent    layout_centerHorizontal
 layout_centerVertical

相对布局属性(4)
      1.android:layout_alignStart
     2.android:layout_alignEnd
                3.android:layout_alignParentStart
                                4.android:layout_alignParentEnd                 
                   

  

                                                   

                       九。布局内常见的控件:  

     1.TextView(文本框)
      2.EditText(编辑框)

3.Button(按钮)
       4.ImageView(图片)
                                              5.ImageButton(图片按钮)                            

                            6时钟和日期控件                            

               1.AnalogClock(模拟时钟)
               2.DigitalClock(数字时钟)
                3.DatePicker(日期控件)
                                                                     4.TimePicker(时间控件                                                     

                十。设置内边距与外边距                                     

 
                             layout_margin 外边距 Padding 内边距 
           layout_margintop 上外边距

 paddingTop 上内边距 
                layout_marginBottom 下外边距

      paddingBottom 下内边距 
            layout_marginLeft 左外边距

paddingLeft 左内边距
                                               layout_marginright 右外边距 paddingRight 右内边距


 

                十一。距离等单位问题:

                                          1. px:像素(pixel),在开发中带来兼容清晰度的麻    

   2.dpi:每英寸的像素数。
                                              3.dip/dp: device independent pixels(与设备无关像素)
                公式:px=dp*(dpi/160) 
                                                    
                                                                     4.sp:scaled pixels,通常指定字体大小,随着用户设置字体的变化
而变化。

                  十二。练习QQ登陆布局(代码)

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="
http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/login_bg" >

    <ImageView
        android:id="@+id/loginimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:src="@drawable/login_pic" />

    <EditText
        android:id="@+id/ed1"
        android:layout_width="wrap_content"
        android:layout_height="44dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@id/loginimage"
        android:layout_marginLeft="28dp"
        android:layout_marginRight="28dp"
        android:background="@drawable/login_input"
        android:drawableRight="@drawable/login_input_arrow"
        android:hint="请输入QQ号"
        android:paddingRight="8dp" />

    <EditText
        android:id="@+id/ed2"
        android:layout_width="wrap_content"
        android:layout_height="44dp"
        android:layout_alignLeft="@id/ed1"
        android:layout_alignRight="@id/ed1"
        android:layout_below="@id/ed1"
        android:background="@drawable/login_input"
        android:hint="请输入密码"
        android:password="true" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_alignLeft="@id/ed2"
        android:layout_alignRight="@id/ed2"
        android:layout_below="@+id/ed2"
        android:layout_marginTop="12dp"
        android:background="@drawable/login_button_press"
        android:gravity="center"
        android:paddingTop="5dp"
        android:text="登录"
        android:textSize="20dp" />

    <Button
        android:id="@+id/regist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@id/button1"
        android:layout_below="@id/button1"
        android:layout_marginTop="10dp"
        android:background="@drawable/login_reg_normal"
        android:paddingLeft="8.0dip"
        android:paddingRight="18dp"
        android:text="注册新账号"
        android:textColor="#ffffffff"
        android:textSize="12sp"
        />

    <RelativeLayout
        android:id="@+id/input"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_alignParentBottom="true"
        android:background="@drawable/login_moremenu_back" >

        <TextView
            android:id="@+id/more_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="更多登陆选项"
            android:textColor="#ffc6e6f9"
            android:textSize="14sp" />

        <ImageView
            android:id="@+id/more_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@id/more_text"
            android:layout_marginRight="5dp"
            android:layout_toLeftOf="@+id/more_text"
            android:src="@drawable/login_more_up" />
    </RelativeLayout>

</RelativeLayout>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值