zoukankan      html  css  js  c++  java
  • 安卓学习-界面-布局-GridLayout

    GridLayout网络布局,类似html里的table,可以设置行数、列数、跨行单元格

    GridLayout XML属性

    属性 方法 说明
    android:alignmentMode

    setAlignmentMode

    GridLayout.ALIGN_BOUNDS

    GridLayout.ALIGN_MARGINS

    没效果

    设置该布局的对其方式

    alignBounds或alignMargins

     android:columnCount  setColumnCount  列数量
     android:columnOrderPreserved  setColumnOrderPreserved

    没效果

    是否保留列序列号

     android:rowCount  setRowCount  行数量
     android:rowOrderPreserved  setRowOrderPreserved

     没效果

    是否保留行序列号

     android:useDefaultMargins  setUseDefaultMargins

     没效果

    是否使用默认的页边距

    GridLayout  的 LayoutParams

    属性 方法 说明
    android:layout_column   在第几列
    android:layout_columnSpan   横跨几列
    android:layout_row   在第几行
    android:layout_rowSpan   横跨几行
    android:layout_gravity   对其方式

    计算机例子

    activity_main.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" 
    
        >
    
        <GridLayout
            android:id="@+id/root"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:columnCount="4"
            android:rowCount="6" >
    
            <EditText
                android:id="@+id/editText1"
                android:layout_width="match_parent"
                android:layout_columnSpan="4"
                android:layout_gravity="fill"
                >
    
            </EditText>
    
            <Button
                android:id="@+id/button1"
                android:layout_width="match_parent"
                android:layout_columnSpan="4"
                android:text="清除" 
                />
    
        </GridLayout>
    
    </LinearLayout>
    View Code

    MainActivity.java

    package com.example.dddd;
    
    import android.app.Activity;
    import android.graphics.Point;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.widget.Button;
    import android.widget.GridLayout;
    
    public class MainActivity extends Activity {
    
    
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            GridLayout gl=(GridLayout)findViewById(R.id.root);
            String[] aa=new String[]{
                    "1","2","3","+",
                    "4","5","6","-",
                    "7","8","9","*",
                    ".","0","=","/"};
            
            Point size = new Point();  
            
            getWindowManager().getDefaultDisplay().getSize(size);  
    
            for(int i=0;i<aa.length;i++){
                GridLayout.Spec column=GridLayout.spec(i%4);
                GridLayout.Spec row=GridLayout.spec(i/4+2);
                GridLayout.LayoutParams params=new GridLayout.LayoutParams(row, column);
                //params.setGravity(Gravity.FILL);
            
                Button btn=new Button(this);
                btn.setText(aa[i]);
                btn.setWidth((int) (size.x * 0.25));
                btn.setHeight((int) (size.x * 0.25));
                gl.addView(btn,params);
    
            }
    
        }
    }
    View Code
  • 相关阅读:
    logger日志工具类
    主机连不上虚拟机中的Redis的原因分析、以及虚拟机网络配置
    sudo密码错误的解决办法
    FileReader和FileInputStream的区别
    用DriverBackUp备份了文件 装好系统后怎么把备份的驱动文件还原
    surface pro系统按键+重装系统
    修复漏洞需要很多时间
    Mybatis一对多查询得不到多方结果
    推荐几个好的 Maven 常用仓库网址
    Math.round(),Math.ceil(),Math.floor()的区别
  • 原文地址:https://www.cnblogs.com/weijj/p/3929860.html
Copyright © 2011-2022 走看看