综合使用各种布局和控件创建出计算器界面
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)
@Override
protected 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();