当前位置:  编程技术>移动开发
本页文章导读:
    ▪LinearLayout(线性格局)        LinearLayout(线性布局)1. 说明  Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界.........
    ▪ FrameLayout(单帧格局)        FrameLayout(单帧布局)    FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上.........
    ▪ 展示周边部分子页面的viewpager(一屏显示多个子页面)       显示周边部分子页面的viewpager(一屏显示多个子页面)   由于智能电视并不像手机那样支持手势划屏,所以在电视上展示多屏数据时,需要提示用户翻页还有更多内容。    一般使用较多的方.........

[1]LinearLayout(线性格局)
    来源: 互联网  发布时间: 2014-02-18
LinearLayout(线性布局)
1. 说明

 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。

  LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。

2. android:padding

    padding是站在父view的角度描述问题,它规定它里面的内容(文字或组件)必须与这个父view边界的距离。

    例如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingLeft="10dip"
    android:paddingTop="10dip" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dip"
        android:background="#FF0000"
        android:paddingBottom="50dip"
        android:paddingLeft="50dip"
        android:paddingRight="50dip"
        android:paddingTop="50dip"
        android:text="@string/app_name" />
</LinearLayout>

   

3. android:layout_margin

   margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。

  例子:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingLeft="10dip"
    android:paddingTop="10dip" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FF0000"
        android:paddingBottom="50dip"
        android:paddingLeft="50dip"
        android:paddingRight="50dip"
        android:paddingTop="50dip"
        android:text="@string/app_name" 
        android:layout_marginBottom="20dip"
        android:layout_marginTop="20dip"/>
     <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FF0000"
        android:paddingBottom="50dip"
        android:paddingRight="50dip"
        android:paddingTop="50dip"
        android:text="@string/app_name" />
</LinearLayout>

  

4. android:layout_gravity和android:gravity区别

    点击打开链接

5. LinearLayout中的layout_weight属性
    点击打开链接

1楼mark_qi昨天 18:08good

    
[2] FrameLayout(单帧格局)
    来源: 互联网  发布时间: 2014-02-18
FrameLayout(单帧布局)

    FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。显示效果如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。

  例子:

   

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#ff000000"
        android:gravity="center"
        android:text="1" />
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#ff654321"
        android:gravity="center"
        android:text="2" />
    <TextView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="#fffedcba"
        android:gravity="center"
        android:text="3" />
</FrameLayout>


1楼mark_qi2小时前good

    
[3] 展示周边部分子页面的viewpager(一屏显示多个子页面)
    来源: 互联网  发布时间: 2014-02-18
显示周边部分子页面的viewpager(一屏显示多个子页面)

   由于智能电视并不像手机那样支持手势划屏,所以在电视上展示多屏数据时,需要提示用户翻页还有更多内容。

   一般使用较多的方法就是箭头提示,比如:

  还有一种更好的做法就是将下一页的部分展现出来,直观提示用户还有更多的页面。这种展现方式结合metro风格,被越来越广泛的盒子和电视厂商采用,例如小米,乐视等。

  下面我们就将动手实现一个类似风格的demo,省去若干查询资料,附代码。

  在代码中,实现了一个显示部分周边子页面的viewpager ,这个控件可以独立使用。在使用的时候需要注意的是:设置viewpager的宽度。

  这个宽度需要根据屏幕的宽度来计算,比如屏幕宽度1080像素,那么viewpager的宽度设置为960,那么viewpager的每个周边就可以露出60像素的宽度。

  效果的实现重点在于viewgroup的setClipChildren(false),表示是否限制子View在其范围内,在animations动画以及本文的情况下可以发挥很大的作用,默认为true。

  注意:setClipChildren(false)在3.0以上版本中,开启了硬件加速后将不能正常工作,所以需要将其设置为软件加速。

  设置软硬件加速使用 setLayerType(View.LAYER_TYPE_SOFTWARE, null); 为了能够在2.2系统中使用,我们使用反射完成该函数的调用,如下:

try {
         Method setLayerTypeMethod = this.getClass().getMethod("setLayerType" , new Class[] {int.class , Paint.class});
         setLayerTypeMethod.invoke( this, new Object[] {LAYER_TYPE_SOFTWARE , null});
     } catch (NoSuchMethodException e) {
         // Older OS, no HW acceleration anyway
     } catch (IllegalArgumentException e) {
         e.printStackTrace();
     } catch (IllegalAccessException e) {
         e.printStackTrace();
     } catch (InvocationTargetException e) {
         e.printStackTrace();
     }


  最终效果图,demo中为图片!

  附demo下载地址:点我下载


  参考资料:

   http://commonsware.com/blog/2012/08/20/multiple-view-viewpager-options.html


   https://gist.github.com/devunwired/8cbe094bb7a783e37ad1


   http://www.trinea.cn/android/viewpager%E5%AE%9E%E7%8E%B0%E7%94%BB%E5%BB%8A%E4%B8%80%E5

%B1%8F%E5%A4%9A%E4%B8%AAfragment%E6%95%88%E6%9E%9C/


  原文链接:http://www.67tgb.com/?p=623

  转载注明:望月听涛


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3