Android GridLayout适合错误

时间:2017-10-03 21:10:03

标签: android android-layout user-interface

我试图在相对布局的网格布局中使用4x4按钮。在虚拟机中一切都很好但在我的galaxy s6上,右边的按钮不合适。 我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/grey_wp"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.uruskan.shock.myapplication.GameScreen">

    <TextView
    android:id="@+id/TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="15dp"
    android:text=""
    android:textSize="24sp" />
    <GridLayout
    android:id="@+id/gridlayout"
    android:columnCount="4"
    android:rowCount="4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/TextView"
    android:layout_marginTop="25sp"
    >
    </GridLayout>

我的虚拟机屏幕截图 virtualmachinescreenshoot 来自真正的Galaxy S6的我的屏幕截图 galaxys6screenshoot 如何使这个应用程序看起来像在模拟器上? 更新: 我将我的模拟器更改为Galaxy S6,现在它也在模拟器上断开了。 enter image description here

2 个答案:

答案 0 :(得分:0)

尝试在每个单元格的宽度上使用layout_weight = 1和layout_width = 0dp,如果它们是imageViews,还要添加adjustViewBounds = true和scaleType = centerInside

答案 1 :(得分:0)

解决。 您需要在Kart类中使用LayoutParameters。

 GridLayout.LayoutParams params = new GridLayout.LayoutParams(GridLayout.spec(GridLayout.UNDEFINED), GridLayout.spec(GridLayout.UNDEFINED, 1, 1f));
    params.height = GridLayout.LayoutParams.WRAP_CONTENT;
    params.width = 0;
    this.setLayoutParams(params);

现在没关系。 enter image description here