安卓开发GridLayout设计计算器界面显示不全

publicclassGridLayoutTestextendsActivity{GridLayoutgridLayout;String[]chars=newString... public class GridLayoutTest extends Activity{ GridLayout gridLayout; String[] chars=new String[]{ "7","8","9","÷", "4","5","6","×", "1","2","3","-", ".","0","=","+" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.grid_larout); gridLayout=(GridLayout)findViewById(R.id.root); for(int i=0;i<chars.length;i++){ Button bn=new Button(this); bn.setText(chars[i]); bn.setTextSize(40); GridLayout.Spec rowSpec=GridLayout.spec(i/4+2); GridLayout.Spec columnSpec=GridLayout.spec(i % 4); String msg="row:"+(i/4+2)+" col:"+(i%4); Log.e("tag",msg); GridLayout.LayoutParams params=new GridLayout.LayoutParams(rowSpec,columnSpec); // params.setGravity(Gravity.FILL); gridLayout.addView(bn,params); } } 展开
 我来答
Brioal95
2015-07-25
知道答主
回答量:10
采纳率:0%
帮助的人:1.2万
展开全部

这个我刚才才写过,然后设置字体的地方有一点小问题,我贴上我的代码你看一下

package com.huangjun.brioal.caculatorui;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.GridLayout;


public class MainActivity extends ActionBarActivity {
   private String[] chars = new String[] {
         "7", "8", "9", "/",
         "4", "5", "6", "*",
         "1", "2", "3", "-",
         "0", ".", "=", "+"
   };
   private GridLayout gridLayout;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      gridLayout = (GridLayout) findViewById(R.id.root);
      for (int i = 0; i < chars.length; i++) {
         Button btn = new Button(this);
         btn.setText(chars[ i ]);
         btn.setTextSize(80);
//       指定所在的行
         GridLayout.Spec row = GridLayout.spec(i / 4 + 2);
//       指定所在的列
         GridLayout.Spec column = GridLayout.spec(i % 4);

         GridLayout.LayoutParams params = new GridLayout.LayoutParams(row, column);
//       指定填满父容器
         params.setGravity(Gravity.FILL);
//       添加按钮
         gridLayout.addView(btn,params);
      }
   }、
   }
  顶上的我的截图,有一点字体大小小问题但是不想弄了
匿名用户
2015-07-09
展开全部
  布局代码是怎样的,在真机上是否正常
追问

追答

其实指定了 columnCount 和 rowCount 就可以了,没必要再设置 LayoutParams 了 



已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xtyvi过往
2015-07-19
知道答主
回答量:12
采纳率:0%
帮助的人:1.5万
展开全部
这跟你的xml文件有关,贴出来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吉祥鸟EK
2015-07-09 · TA获得超过260个赞
知道小有建树答主
回答量:2204
采纳率:0%
帮助的人:448万
展开全部
安卓开发GridLayout设计计算器界面显示不全这个没有关系。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
至尊之上射手
2017-02-16
知道答主
回答量:3
采纳率:0%
帮助的人:2572
展开全部
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xys.myapplication/com.xys.myapplication.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.GridLayout.addView(android.view.View, android.view.ViewGroup$LayoutParams)' on a null object reference
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式