zoukankan      html  css  js  c++  java
  • 今日十问(四)

    1、什么是View?
     <1>所有高级UI组件都继承View类而实现的;
     <2>一个View在屏幕上占据一块矩形区域;
     <3>负责渲染;
     <4>负责处理发生的事件;
     <5>设置是否可见;
     <6>设置是否可以获得焦点等
    2、LinearLayout、RelativeLayout和FrameLayout的联系和区别。
     <1>FrameLayout    
         这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西。    
     <2>LinearLayout    
         线性布局,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。    
    linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。
     <3>RelativeLayout    
         相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:    
          相对于某一个元素    
          android:layout_below="@id/aaa" 该元素在 id为aaa的下面    
          android:layout_toLeftOf="@id/bbb" 改元素的左边是bbb    
            相对于父元素的地方    
           android:layout_alignParentLeft="true"  在父元素左对齐    
           android:layout_alignParentRight="true" 在父元素右对齐    
          还可以指定边距等
    3、View和ViewGroup的区别。
         View是ViewGroup的父类。Android的UI开发使用层次模型来完成,一般都是在一个ViewGroup中嵌套多层ViewGroup,每一层中含有随意数目的View。我们可以将整个屏幕看做一个ViewGroup,它同时也是一个View,而在这个整体的ViewGroup之中,又有多个ViewGroup和View,每个ViewGroup中又可以有多个子ViewGroup和View。
    4、在XML中引用一个id,使用@id/id_name这种语法;需要在XML中定义一个id,要使用@+id/id_name这种语法。
    5、android:layout_height指定了当前元素的高度; 
        android:layout_width指定了当前元素的宽度;
        android:match_parent表示让当前元素和父元素一样宽;
        android:wrap_content表示当前元素的高度只要能刚好包含里面的内容就行了;
        android:text指定了元素中显示的文字内容;
        android:lable指定活动中标题栏的内容,标题栏是显示在活动最顶部的。
    6、gravity和Layout_gravity的区别。
         LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在 于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的 对齐方式。
         举个例子,我们可以通过设置android:gravity="center"来让EditText中的文字在EditText组件中居中显示;同时我们设置EditText的android:layout_gravity="right"来让EditText组件在LinearLayout中居中显示。
    7、Activity的四种基本状态分别是哪些?
         运行态(Running)、暂停态(Paused)、停止态(Stopped)、终止态(Destroyed)。
    8、Android中的六大布局分别是什么?
         绝对布局(AbsoluteLayout)、相对布局(RelativeLayout)、线性布局(LinearLayout)、帧布局(FrameLayout)、表格布局(TableLayout)、网格布局(GridLayout)。
    9、padding和margin的区别。
        padding填充的意思,指的是view中的content与view边缘的距离,类似文本中的indent而margin表示的是view的左边缘与parent view的左边缘的距离,margin一般用来描述控件间位置关系,而padding一般描述控件内容和控件的位置关系。
        简单,padding是站在父 view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的 view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。
    10、相对布局中只能设为boolean值的属性
     android:layout_centerHorizontal——控制该子组件是否位于布局容器的水平居中;
     android:layout_centerVertical——控制该子组件是否位于布局容器的垂直居中;
     android:layout_centerInParent——控制该子组件是否位于布局容器的中央位置;
     android:layout_alignParentBottom——控制该子组件是否与布局容器底端对齐;
     android:layout_alignParentLeft——控制该子组件是否与布局容器左边对齐;
     android:layout_alignParentRight——控制该子组件是否与布局容器右边对齐;
     android:layout_alignParentTop——控制该子组件是否与布局容器顶端对齐;
    11、相对布局中只能设为其他UI组件ID的属性
     android:layout_toRightOf——控制该子组件位于给出ID组件的右侧;
     android:layout_toLeftOf——控制该子组件位于给出ID组件的左侧;
     android:layout_above——控制该子组件位于给出ID组件的上方;
     android:layout_below——控制该子组件位于给出ID组件的下方;
     android:layout_alignTop——控制该子组件位于给出ID组件的上边界对齐;
     android:layout_alignBottom——控制该子组件位于给出ID组件的下边界对齐;
     android:layout_alignLeft——控制该子组件位于给出ID组件的左边界对齐;
     android:layout_alignRight——控制该子组件位于给出ID组件的右边界对齐;

  • 相关阅读:
    java web项目打包.war格式
    version 1.4.2-04 of the jvm is not suitable for thi
    Sugarcrm Email Integration
    sharepoint 2010 masterpage中必须的Content PlaceHolder
    微信开放平台
    Plan for caching and performance in SharePoint Server 2013
    使用自定义任务审批字段创建 SharePoint 顺序工作流
    Technical diagrams for SharePoint 2013
    To get TaskID's Integer ID value from the GUID in SharePoint workflow
    how to get sharepoint lookup value
  • 原文地址:https://www.cnblogs.com/android-blogs/p/5684469.html
Copyright © 2011-2022 走看看