综合使用各种布局和控件创建出计算器界面
Grid layout子控件超出屏幕的一个解决方法
主要是gridlayout的使用(Tablelayout无法实现跨行操作)
有想法的小伙伴也可以用其他的
Gridlayout实现五行六列(这里有个坑)
直接上效果图(勉强这样的简易计算器界面图)
代 码分为两部分
第一部分MainActivity.java
主要作用是获取Grid layout的宽然后再平均分配

package cn.edu.jssvc.lab2;import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.GridLayout;public class MainActivity extends Activity {private static final String TAG = "MainActivity";private GridLayout mGridLayout;private int columnCount; //列数private int screenWidth; //屏幕宽度@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mGridLayout = (GridLayout) findViewById(R.id.gridLayout);columnCount = mGridLayout.getColumnCount();screenWidth = this.getWindowManager().getDefaultDisplay().getWidth();Log.e(TAG, "column:" + columnCount + ";  screenwidth:" + screenWidth);for (int i = 0; i < mGridLayout.getChildCount(); i++) {Button button = (Button) mGridLayout.getChildAt(i);button.setWidth(screenWidth / columnCount);}}
}

第二部分代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TableRowandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView"android:layout_width="match_parent"android:layout_height="40dp"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:gravity="left|center_vertical"android:text="       计算器"android:textSize="15sp"android:textColor="#000000"/></TableRow><EditTextandroid:layout_width="match_parent"android:layout_height="40dp"android:background="#B0C5EEF3"android:editable="false"android:gravity="left|center_vertical"android:padding="10dp"android:text="查看(V) 编辑(E) 帮助(H)"android:textColor="#000000"android:textSize="15sp" /><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="center|top"android:layout_marginTop="20dp"android:layout_marginBottom="10dp"android:background="#D2E2DD"android:editable="false"android:gravity="right|center_vertical"android:text="0"android:textColor="#000000"android:textSize="40sp" /><GridLayoutandroid:id="@+id/gridLayout"android:layout_width="match_parent"android:layout_height="wrap_content"android:columnCount="5"android:rowCount="6"tools:ignore="NewApi"><Buttonandroid:id="@+id/mc"android:text="MC" /><Buttonandroid:id="@+id/mr"android:text="MR" /><Buttonandroid:id="@+id/ms"android:text="MS" /><Buttonandroid:id="@+id/m1"android:text="M+" /><Buttonandroid:id="@+id/m2"android:text="M-" /><Buttonandroid:id="@+id/delete"android:text="←" /><Buttonandroid:id="@+id/ce"android:text="CE" /><Buttonandroid:id="@+id/empty"android:text="C" /><Buttonandroid:id="@+id/empty1"android:text="±" /><Buttonandroid:id="@+id/empty12"android:text="√" /><Buttonandroid:id="@+id/seven"android:text="7" /><Buttonandroid:id="@+id/eight"android:text="8" /><Buttonandroid:id="@+id/nine"android:text="9" /><Buttonandroid:id="@+id/divide"android:text="/" /><Buttonandroid:id="@+id/multiple"android:text="%" /><Buttonandroid:id="@+id/four"android:text="4" /><Buttonandroid:id="@+id/five"android:text="5" /><Buttonandroid:id="@+id/six"android:text="6" /><Buttonandroid:id="@+id/minus"android:text="*" /><Buttonandroid:id="@+id/plus"android:text="1/x" /><Buttonandroid:id="@+id/one"android:text="1" /><Buttonandroid:id="@+id/two"android:text="2" /><Buttonandroid:id="@+id/three"android:text="3" /><Buttonandroid:id="@+id/minus1"android:text="-" /><Buttonandroid:id="@+id/equal"android:layout_gravity="fill_vertical"android:layout_rowSpan="2"android:text="=" /><Buttonandroid:id="@+id/zero"android:layout_columnSpan="2"android:layout_gravity="fill"android:text="0" /><Buttonandroid:id="@+id/dot"android:text="." /><Buttonandroid:id="@+id/plus1"android:text="+" />
</GridLayout>
</LinearLayout>

preview的时候可能第五列还是超出屏幕(如下图),在虚拟机上运行就不是这样的了!

综合使用各种布局和控件创建出计算器界面相关推荐

  1. 按钮控件数组实现计算器界面

    数组的应用范围非常广泛,灵活运用可以提高程序的开发效率,减少重复代码.例如,本实例通过按钮数组来管理界面中的所有按钮控件,从而使用最少的代码实现了模拟的计算器界面.实例运行效果如图 本实例的关键点在于 ...

  2. java按钮数组_Java按钮控件数组实现计算器界面

    编写程序,通过按钮数组来管理界面中的所有按钮控件,从而使用最少的代码实现模拟的计算器界面. 思路如下: 创建一个类,通过extends使其继承窗体类JFrame: 创建一个JFrame对象,使用JFr ...

  3. java调用数组计算器_java按钮控件数组实现计算器界面示例分享

    思路如下: 创建一个类,通过extends使其继承窗体类JFrame: 创建一个JFrame对象,使用JFrame类的setVisible()方法设置窗体可见: 在构造函数中,使用super()方法继 ...

  4. 布局与控件(一)——布局与控件的常用概念

    第1节 布局与控件的常用概念 界面设计中的控件,就是我们常常看到的按钮 滑动条 文字显示区等等,它们就像房间里的家具,是界面设计的最小单位. 布局是一个可以容纳别的布局(或者控件)的容器.它就像是一个 ...

  5. qt中创建控件布局以及删除原有布局和控件

    引言 当根据数据来创建控件并布局时,如果数据更新,那么之前创建的控件便需要删除后重新创建布局.该文主要说明将原来的布局和控件删除,重新创建并布局. 示例 先看一下ui文件: 下面是实现代码: void ...

  6. Android 开发 -- 开发第一个安卓程序、Android UI开发(布局的创建:相对布局和线性布局、控件单位:px pt dp sp、常用控件 、常见对话框、ListView)

    文章目录 1. 开发第一个Hello World程序 1.1 开发程序 1.2 认识程序中的文件 1.3 Android程序结构 1.4 安卓程序打包 2. Android UI开发 2.1 布局的创 ...

  7. 07.移动先行之谁主沉浮----控件之轮流轰炸——布局类控件

    如果移动方向有任何问题请参考===> 异常处理汇总-移动系列(点) 移动先行之谁主沉浮? 带着你的Net飞奔吧! 链接======>(点) 一.布局类控件 Grid.StackPanel. ...

  8. java 控件内布局_Java开发桌面程序学习(二)————fxml布局与控件学习

    JavaFx项目 新建完项目,我们的项目有三个文件 Main.java 程序入口类,载入界面并显示 Controller.java 事件处理,与fxml绑定 Sample.fxml 界面 sample ...

  9. 使用约束控件创建界面

    本文讲的是使用约束控件创建界面, 如果你是刚刚接触约束控件--支持库中与 Android Studio 2.2 可视化 UI 编辑器紧密结合的新布局--我建议首先观看上面的介绍视频或者浏览我们的代码库 ...

最新文章

  1. Application ProvidedAar 完结篇
  2. 博客园——记录我的开始
  3. .NET Core开发日志——Middleware
  4. java高级教程_高级Java教程
  5. [整理]详记被忽略的Get与Post
  6. 软件项目开发成本经常用到的估算方法
  7. hysys动态模拟教程_(转载)HYSYS-过程模拟软件-稳态模拟-第一部分(一)
  8. 搜狗微信文章url解码
  9. 计算机电脑配置组装心得,自己如何组装电脑主机?diy电脑组装教程图解详细步骤+装机心得(4)...
  10. PPT课件实现连连看游戏——简单好用
  11. 计算机科学内容基础,计算机科学的基础pdf
  12. Lubuntu下启用Compiz
  13. vue刘海屏兼容组件
  14. 《零基础学HTML5+CSS3(全彩版)》读书笔记
  15. Java常用类,这一次帮你总结好!
  16. 计算机组成原理——奇偶校验,海明校验,循环冗余校验
  17. Bullet physics 引擎的官方文档翻译
  18. Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解)
  19. 关于热是什么与人体怎么感受到热的笔记
  20. 【毕业设计】16-基于单片机的酒精浓度监测系统设计(原理图+仿真+实物图+论文+答辩PPT)

热门文章

  1. 富人是怎么赚钱的?富人赚钱的底层逻辑是什么?
  2. ACCE创建Object Store
  3. Linux全攻略--Mail服务器配置与管理
  4. ERRORS: auth.User.groups: (fields.E304) Reverse accessor for ‘User.groups‘ clashes with reverse acce
  5. 计算机如何连接共享网络设置,联想电脑怎么设置共享网络
  6. 氨基酸衍生手性催化剂CAS号:1011465-29-4
  7. python爬虫淘宝和天猫的区别_荐真实难过,当python爬虫对上淘宝和天猫,我又失败了!...
  8. 战神世界II 一个用IE玩的战略游戏 上班打发时间 不用安装任何客户端!
  9. 2021 Apache Pulsar 中文社区先锋奖与年度优秀案例奖出炉!
  10. 数字藏品电商平台开发:如何开发数字藏品?