zoukankan      html  css  js  c++  java
  • android学习记录

    Android布局

    1. LinearLayout (线性布局)

      android:orientation 属性指定了排列方向是 vertical,如果指定的是horizontal,控件就会在水平方向上排列了。

      android:gravity 是用 于指定文字在控件中的对齐方式

      android:layout_gravity 是用于指定控件在布局中的对齐 方式 RelativeLayout 相对布局

      android:layout_weight="1"(权重分布),这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。

      android:visibility=invisible控制布局是否显示 :1、显示 visible 2、不显示,但占空间 invisible 3、隐藏 gone

    2. RelativeLayout(相对布局)
    3. FrameLayout(帧布局)
    4. TableLayout(表格布局)GridLayout 网格布局
      首先它与LinearLayout布局一样,也分为水平和垂直两种方式,默认是水平布局,一个控件挨着一个控件从左到右依次排列,但是通过指定Android:columnCount设置列数的属性后,控件会自动换行进行排列。另一方面,对于GridLayout布局中的子控件,默认按照wrap_content的方式设置其显示,这只需要在GridLayout布局中显式声明即可。
      其次,若要指定某控件显示在固定的行或列,只需设置该子控件的android:layout_row和android:layout_column属性即可,但是需要注意:android:layout_row=”0”表示从第一行开始,android:layout_column=”0”表示从第一列开始,这与编程语言中一维数组的赋值情况类似。
      最后,如果需要设置某控件跨越多行或多列,只需将该子控件的android:layout_rowSpan或者layout_columnSpan属性设置为数值,再设置其layout_gravity属性为fill即可,前一个设置表明该控件跨越的行数或列数,后一个设置表明该控件填满所跨越的整行或整列。
      AbsoluteLayout
      android:layout_x 指定控件在父布局的x轴坐标
      android:layout_y 指定控件在父布局的 y轴坐标
    5. AbsoluteLayout(绝对布局)
    Intent作用

    Intent是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由 Intent来协助完成 Android各个组件之间的通讯。比如说调用startActivity()来启动一个Activity,或者由broadcaseIntent()来传递给所有感兴趣的BroadcaseReceiver,再或者由startService() / bindservice()来启动一个后台的 service。所以可以看出来,Intent 主要是用来启动其他的 activity 或者 service,所以可以将 intent 理解成 activity 之间的粘合剂。

    Intent作用的表现形式为:

    • 启动Activity
      通过Context.startActvity() / Activity.startActivityForResult()启动一个Activity;
    • 启动Service
      通过Context.startService()启动一个服务,或者通过Context.bindService()和后台服务交互;
    • 发送Broadcast
      通过广播方法Context.sendBroadcasts() / Context.sendOrderedBroadcast() / Context.sendStickyBroadcast()发给Broadcast Receivers

    Intent对象大致包括7大属性:Action(动作)Data(数据)Category(类别)Type(数据类型)Component(组件)Extra(扩展信息)Flag(标志位)。其中最常用的是Action属性和Data属性。


    传参
     

        1 一般的注册或者登陆成功后 跳到某一新activity传值问题 

        2  注册界面需要选择性别  需要打开一个新的界面选择里面的信息回到当前activty的传值问题 

        3  设置界面需要某一界面选择的图片(但是还没上传服务),如果中间相隔几种activty时的传值。

       

        一 如果是两个相邻activity之间的传值:

      可以用Intent传值 对象和单个属性都可以

        OneActivity 里设置

    Intent intent = new Intent(OneActivity.this,TwoActivity.class);
                    intent.putExtra("mEmail", mEmail);
                    intent.putExtra("mPassword", mPassword);
                    startActivity(intent);

        TwoActivity 里取值

    Intent getIntent = getIntent();
            String mEmail = getIntent.getStringExtra("mEmail");
            String mPassword = getIntent.getStringExtra("mPassword");

        二:相邻两个以上的activty之间的传值

        可以照搬方法一 如果从one 传到two,然后继续three,可以继续intent
        首先可以自定义个全局类,用于储存临时数据。
    public class Constant {
        
        public static String mEmail;
        public static  String mPassword;
     
    }

        OneActivity :

    Intent intent = new Intent(OneActivity.this,TwoActivity.class);
                    /*intent.putExtra("mEmail", mEmail);
                    intent.putExtra("mPassword", mPassword);*/
                    Constant.mEmail = mEmail;
                    Constant.mPassword =mPassword;
                    startActivity(intent);

        这样我们在其他activty里随时可以取值,不受activity的限制

    String mEmail = Constant.mEmail;
            String mPassword = Constant.mPassword;
            mEmailView.setText(mEmail);
            mPasswordView.setText(mPassword);
  • 相关阅读:
    AngularJS开发指南6:AngularJS表单详解
    AngularJS开发指南5:AngularJS表达式详解
    AngularJS开发指南4:指令的详解
    grunt入门讲解7:项目脚手架grunt-init
    grunt入门讲解6:grunt使用步骤和总结
    grunt入门讲解5:创建插件,安装Grunt以及常见问题
    grunt入门讲解4:如何创建task(任务)
    grunt入门讲解3:实例讲解使用 Gruntfile 配置任务
    grunt入门讲解2:如何使用 Gruntfile 配置任务
    grunt入门讲解1:grunt的基本概念和使用
  • 原文地址:https://www.cnblogs.com/callmelord/p/13773641.html
Copyright © 2011-2022 走看看