小编The*_*ian的帖子

设置高度等于宽度,宽度由重量决定

我正在为Android制作一款基于2048的游戏,我添加的功能之一是可能有4x4到8x8的网格,但我在分配磁贴的大小时遇到​​了问题.我有一个包含其他LinearLayout的LinearLayout,每行一个(网格高度),并且在该行的每个tile中每行TextViews.每个textview的权重为1,包含它们的行的weightSum等于width(在tile中),width设置为match_parent,然后我将textviews设置为布局后将高度设置为等于宽度.我是通过代码执行此操作,为每个磁贴膨胀预定义的textview并将其添加到行,然后将行添加到"board"视图.但它没有用.

这是在onCreate方法中为视图的宽度,高度和权重定义的相关代码段:

        board = (LinearLayout) findViewById(R.id.board);
        board.setWeightSum(1.0f * height);

        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        for (int i = 0; i < height; i++) {

            LinearLayout row = (LinearLayout) inflater.inflate(R.layout.row_ll, null);
            lp = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
            row.setId(1000 + i);
            row.setWeightSum(1.0f * width);

            for (int j = 0; j < width; j++) {

                tv = (TextView) inflater.inflate(R.layout.text_view, null);

                tv.setId(nextId());

                row.addView(tv, lp);

            }

            board.addView(row);

            for (int j = 0; j < width; j++) {

                tv = (TextView) findViewById((i * width) + j …
Run Code Online (Sandbox Code Playgroud)

java android android-layout

2
推荐指数
1
解决办法
1409
查看次数

标签 统计

android ×1

android-layout ×1

java ×1