精华内容
参与话题
问答
  • 同样如果我再放一个按钮到“中”按钮的上面用layout_above这个属性,同样这个按钮会安排在屏幕外边,但是在“中”这个按钮下面用layout_below这个属性就不会出现这种情况,同样在右边就不会,是不是因为自己设置了...
  • 在我的linear layout 中有两个images,这两个 images 在布局的两端。但是当我改变屏幕方向时,cancel按钮又出现在中间。 android:layout_width="wrap_content" android:layout_height="wrap_content" ...
  • android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:id="@+id/actionBar" style="@style/ActionBar" /> android:layout_...
  • 当我访问 included Layout 中的 RelativeLayout viewgroup 时获得一个 NullPointerexception 异常。在下面的代码中名称是 rootlayout。 date_layout.xml: android:id="@+id/my_layoutroot_id" android:...
  • 程序中的 layout 代码: android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <include layout="@layout/basicinfo" /> android:...
  • 不论什么时候当我单独申请一个 onTouch 监听器到TextViews,当我添加touch事件到relative layout时它能检测到touch 事件,但是没有回应。 检测touch事件代码: TextView tv = new TextView(this); tv....
  • easyUI Layout

    千次阅读 2012-07-31 16:26:24
    覆盖默认属性$.fn.layout.defaults layout是一个容器,它有5个区域:north(北丐),south(南帝),east(东邪),west(西毒),center(中神通),像不像金庸的天龙八部,中间区域的panel是必须的, 周边区域panel是可选项,所有...

    @author YHC

    覆盖默认属性$.fn.layout.defaults

    layout是一个容器,它有5个区域:north(北丐),south(南帝),east(东邪),west(西毒),center(中神通),像不像金庸的天龙八部,中间区域的panel是必须的,

    周边区域panel是可选项,所有周边区域的panel可以改变大小通过拖动边框,他们也可以折叠(collapse)通过点击触发折叠事件,布局可以嵌套,因此用户

    可以创建你想要的复杂布局;

    使用示例

    创建 Layout
    1.通过标记创建layout.
     记得添加"easyui-layout"样式给div标记.
    <div id="cc" class="easyui-layout" style="width:600px;height:400px;">  
        <div data-options="region:'north',title:'North Title',split:true" style="height:100px;"></div>  
        <div data-options="region:'south',title:'South Title',split:true" style="height:100px;"></div>  
        <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;"></div>  
        <div data-options="region:'west',title:'West',split:true" style="width:100px;"></div>  
        <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;"></div>  
    </div>  
    2.创建一个layout在整个页面.
    <body class="easyui-layout">  
        <div data-options="region:'north',title:'North Title',split:true" style="height:100px;"></div>  
        <div data-options="region:'south',title:'South Title',split:true" style="height:100px;"></div>  
        <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;"></div>  
        <div data-options="region:'west',title:'West',split:true" style="width:100px;"></div>  
        <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;"></div>  
    </body>  
    3.创建嵌套layout
    注意那个west panel的内部的布局是折叠的.
    <body class="easyui-layout">  
        <div data-options="region:'north'" style="height:100px"></div>  
        <div data-options="region:'center'">  
            <div class="easyui-layout" data-options="fit:true">  
                <div data-options="region:'west',collapsed:true" style="width:180px"></div>  
                <div data-options="region:'center'"></div>  
            </div>  
        </div>  
    </body>  
    4.通过ajax加载内容.
    这个layout的创建是基于panel的,所有内部区域panel提供内置支持通过"URL"异步加载内容,使用异步加载技术,用户可以是他们的layout页面显示快了很多.
    <body class="easyui-layout">  
        <div data-options="region:'west',href:'west_content.php'" style="width:180px" ></div>  
        <div data-options="region:'center',href:'center_content.php'" ></div>  
    </body>  
    折叠 Layout Panel
    $('#cc').layout();  
    // 折叠west panel
    $('#cc').layout('collapse','west');  
    添加west 区域panel 工具按钮
    $('#cc').layout('add',{  
        region: 'west',  
        width: 180,  
        title: 'West Title',  
        split: true,  
        tools: [{  
            iconCls:'icon-add',  
            handler:function(){alert('add')}  
        },{  
            iconCls:'icon-remove',  
            handler:function(){alert('remove')}  
        }]  
    });  

    Layout 选项

    Name Type Description Default
    fit boolean 设置为true设置layout的大小适应父容器大小.当创建layout 在body标签上的时候,它将自动调整大小为最大填满整个页面. false

    Region Panel 选项

    region panel 选项 是定义在panel组件, 下面是一些常用和新增的属性:

    Name Type Description Default
    title string  layout panel标题文本. null
    region string 定义 layout panel 位置, 这个值是下面其中的一个: north, south, east, west, center.  
    border boolean True 显示 layout panel 的边框(border). true
    split boolean True 显示分割条,通过此属性用户可以改变panel的大小. false
    iconCls string 一个 icon CSS 样式,用来展示一个icon在panel的头部. null
    href string 一个URL从一个远程的站点加载数据. null

    方法

    Name Parameter Description
    resize none 设置 layout 大小.
    panel region 返回特性的 panel, 这个 'region'参数的可用值有:'north','south','east','west','center'.
    collapse region 折叠特定的panel,这个 'region'参数的可用值有:'north','south','east','west'.
    expand region 展开一个特定的 panel, 这个 'region' 参数的可用值有:'north','south','east','west'.
    add options 添加一个定义panel, 这个options参数是一个配置对象, 请见tab panel 属性得到更多详细信息.
    remove region 移除一个特定的 panel, 这个'region' 参数的可用值有:'north','south','east','west'.
    以上如有错误信息,请指出thanks!








    展开全文
  • 当我访问included layout中的一个RelativeLayout viewgroup时,获取了 NullPointerexception异常。在代码中它定义为rootlayout,为什么会出错? date_layout.xml: android:id="@+id/my_layoutroot_id" ...
  • layout包含两个 linearlayout: 如下: xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_...
  • setContentView(R.layout.companyinfo); //Button m_back =(Button)findViewById(R.id.button1); // GridView gv=(GridView)findViewById(R.id.se1); ListView gv=(ListView)findViewById(R.id....
  • 我在一个relative layout 中设置了4个按钮。我想把按钮设置成相同的宽度,以遍适应一个手机的任何屏幕大小。 代码如下: android:id="@+id/relativeLayout1" android:layout_width="match_parent" ...
  • android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> android:id="@+id/left_fragment" android:name="com.llg.play.LeftFragment" ...
  • 在一个垂直的线性布局中设置了两个textviews,还有一个button和一个frame layout框架布局。 我要把按钮放在框架布局的左边,并把按钮放在 relative layout布局中。 但是如何把框架布局 frame layout 放在右边呢? ...
  • android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="40dp" android:layout_marginRight="40dip" android:layout_marginTop="30dp" android:layout_...
  • Could not find a method setRepeat(View) in the activity class com.mine.myalerm.MainActivity for onClick handler on view class android.widget.RelativeLayout with id 'rl_repeat_layout' 以上这是logcat ...
  • 我动态的创建了一个Relative Layout: RelativeLayout layout = new RelativeLayout( this ); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, ...
  • android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/bg" > android:id="@+id/ll" android:layout_width="fill_parent" android:layout_...
  • 我想把两个 textviews 放置在 relative layout布局的右边,但是这两个 textviews一直在左边,怎么能放在布局的右边呢? android:id="@+id/top_lay2" android:layout_width="fill_parent" android:layout_...
  • 高手们大家好,我在使用easyui时出现一个问题,在主页面layout的center区域中加载一个页面,结果却显示不全: 主页面结构: <body id="lyt_main" class="easyui-layout" style="visibility: hidden;"> ;"> ...
  • android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="${packageName}.${activityClass}" > android:id="@+id/TitleEditText" ...
  • android:layout_width="match_parent" android:layout_height="match_parent" android:baselineAligned="false" android:orientation="horizontal" > android:layout_width="0dp" android:layout_height=...
  • 在 Main.xml 中有两个 layout xml 文件,有一个按钮名称是`android:id="@+id/btnClose"` 在 About.xml 中也有一个按钮名称是 `android:id="@+id/btnClose"` 这样行吗? Main.xml android:layout_width=...
  • android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/...
  • view=inflater.inflate(R.layout.other_layout,null); mainLayout.addView(view); 这个 view 是添加在 main layout下面的。我想把 view 添加在 addView 按钮的右下边,removeView 按钮的上面,但是不在 main ...
  • 今天在群里看到有人提到layout_alignRight 这种属性,自己想了半天居然没有了印象 赶紧写一个布局看看这个相对布局的属性 先看下自己常用的属性 android:alignParentBottom android:layout_alignParentLeft ...

    今天在群里看到有人提到layout_alignRight 这种属性,自己想了半天居然没有了印象

    赶紧写一个布局看看这个相对布局的属性

     先看下自己常用的属性

     android:alignParentBottom

     android:layout_alignParentLeft 

     android:layout_alignParentRight

     android:layout_alignParentTop  

    这四个控件一般属性设置为true 它们相对于父布局的相对位置 ,它们的属性依赖于父布局的RelativeLayout

    在看 下面的属性

    android:layout_alignRight

    android:layout_alignBottom

    android:layout_alignTop

    android:layout_alignLeft

    它们的属性一般相对于指定id的位置,不依赖与父布局的RelativeLayout 

    想入现在 一个相对布局宽和高都是match_parent

    画下面的图

    textView 使用android:layout_alignParentRight 位于了右边 但是高度不好设置了

    当然大家一般都不会把最外的层的相对布局高度设为为match_parent

    这个时候使用相对某个控件的设置还是很好使用的

    代码如下

    android:layout_alignTop="@+id/edt"
    android:layout_alignRight="@+id/edt"
    android:layout_alignBottom="@+id/edt"
    <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <EditText
                android:id="@+id/edt"
                android:layout_width="400dp"
                android:layout_height="100dp"
                android:background="@null"
                android:hint="请输入手机号" />
    
            <TextView
                android:id="@+id/txt"
                android:layout_width="100dp"
                android:layout_height="match_parent"
                android:layout_alignTop="@+id/edt"
                android:layout_alignRight="@+id/edt"
                android:layout_alignBottom="@+id/edt"
                android:layout_marginTop="25dp"
                android:layout_marginRight="30dp"
                android:layout_marginBottom="25dp"
                android:background="@drawable/drawable_txt"
                android:gravity="center"
                android:text="获取验证码" />
        </RelativeLayout>

    这个就是相对于某一个控件的id 来控制很不错的选择,比如购物车上的数量,等等,方法有很多中,这种方法必能被遗忘

    学而时习之,温故而知新。。。

     

    展开全文
  • layout_centerHorizontal是相对于RelativeLayout的布局属性 如果设置为true,就将该控价设置在相对于父控件水平居中的位置layout_gravity针对LinearLayout的一种控件对齐方式,可以把值设置成下列值: center_...
    layout_centerHorizontal
    是相对于RelativeLayout的布局属性
    如果设置为true,就将该控价设置在相对于父控件水平居中的位置
    
    layout_gravity
    针对LinearLayout的一种控件对齐方式,可以把值设置成下列值:
    center_vertical、center_horizontal、center等等
    
    gravity
    控制控件内文字的对齐方式
    

    举个栗子:

    在写一个简单的RecyclerView的时候,定义RecyclerView的单个item的时候,
    我想让TextView居中显示,于是有下面的代码:

    <?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="wrap_content">
    
        <TextView
            android:id="@+id/tv_num"
            android:text="@string/app_name"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_centerHorizontal="true"
             />
    </RelativeLayout>
    

    我在TextView中使用layout_centerHorizontal来让TextView居中,我觉得这样写没问题啊,让TextView位于RelativeLayout内部水平中间的位置,但是我看预览图却怎么不显示。

    预览图:

    image

    这样我尝试使用gravity的时候,发现有下面的代码和预览图:

    <?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="wrap_content">
    
        <TextView
            android:id="@+id/tv_num"
            android:text="@string/app_name"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center_horizontal"
             />
    </RelativeLayout>
    

    image

    这样的话就居中了,我就奇怪,为什么layout_centerHorizontal来定义这个TextView不行,同样也是让子控件水平居中啊,百度了下,然后仔细看了下代码就突然发现问题的原因了。

    layout_centerHorizontal,如果设置为true,就将该控价设置在相对于父控件水平居中的位置,gravity,如果设置为center_horizontal,是让控件中的文字水平居中。

    接下来我做了个小测试:
    我仍然使用layout_centerHorizontal来让TextView居中显示,并且将控件的layout_width属性设置为固定长度,如下布局:

    <?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="wrap_content">
    
        <TextView
            android:id="@+id/tv_num"
            android:text="@string/app_name"
            android:layout_width="60dp"
            android:layout_height="50dp"
            android:layout_centerHorizontal="true"
             />
    </RelativeLayout>
    

    这里将宽度固定为60dp,发现预览图是下面这样的:
    image

    这样你有没有发现为什么第一个场景下为什么TextView不能居中的原因了呢?

    因为第一个场景,设置的TextView的layout_width为match_parent,而layout_centerHorizontal设置为true,表示将TextView位于父控件的中间,而父控件的宽度同样是match_parent,这样就导致该TextView已经水平居中了,但是TextView中的文字没有居中。

    当我们把TextView固定长度后,就能实现这个效果了。

    展开全文
  • android:layout_width="match_parent" android:layout_height="match_parent"> android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white"> ...
  • final LinearLayout layout1 = (LinearLayout) view.findViewById(R.id.layout1); layout2.setVisibility(View.GONE); //(2) /*============ Preview Setting ================*/ final LinearLayout ...
  • android:layout_weight的真实含义

    万次阅读 多人点赞 2014-04-28 21:02:16
    之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。如下所示: android:layout_width="match_parent

    首先声明只有在Linearlayout中,该属性才有效。之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。如下所示:

     <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
    
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@android:color/black"
                android:text="111"
                android:textSize="20sp" />
    
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:background="@android:color/holo_green_light"
                android:text="222"
                android:textSize="20sp" />

    上面的布局将两个TextView的宽度均设为match_parent,一个权重为1,一个权重为2.得到效果如下:


    可以看到权重为1的反而占了三分之二!

    再看如下布局:

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@android:color/black"
                android:text="111"
                android:textSize="20sp" />
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:background="@android:color/holo_green_light"
                android:text="222"
                android:textSize="20sp" />
        </LinearLayout>

    即宽度为wrap_content,得到视图如下:


    左边 TextView占比三分之一,又正常了。

    android:layout_weight的真实含义是:一旦View设置了该属性(假设有效的情况下),那么该 View的宽度等于原有宽度(android:layout_width)加上剩余空间的占比!

    设屏幕宽度为L,在两个view的宽度都为match_parent的情况下,原有宽度为L,两个的View的宽度都为L,那么剩余宽度为L-(L+L) = -L, 左边的View占比三分之一,所以总宽度是L+(-L)*1/3 = (2/3)L.事实上默认的View的weight这个值为0,一旦设置了这个值,那么所在view在绘制的时候执行onMeasure两次的原因就在这。

    Google官方推荐,当使用weight属性时,将width设为0dip即可,效果跟设成wrap_content是一样的。这样weight就可以理解为占比了!


    展开全文
  • 错误是这样的,布局文件如下,总是在SeekBar里面的这一句android:layout_toLeftOf="@id/voice_max"报错,差点气得我吐血,明明没有错误的.  android:id="@+id/voice_min" android:layout_width="wrap_content" ...

空空如也

1 2 3 4 5 ... 20
收藏数 132,390
精华内容 52,956
关键字:

layout