2017-02-07 149 views
0

我想构建一个简单的Android应用程序。模拟器上的 网格完美地显示按钮,但是当将应用安装到我的移动设备时,网格看起来很可怕。
下面是XML文件:网格布局显示不正确

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_main" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.modysoft.gridlayoutdemo.MainActivity"> 

<GridLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <Button 
     android:text="Good Morning" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="0" 
     android:layout_row="0" 
     android:layout_gravity="fill" 
     android:layout_columnWeight="1" 
     android:onClick="Buttontapped" 
     android:layout_rowWeight="1" 

     android:id="@+id/goodmorning" /> 

    <Button 
     android:text="Good Evening" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="1" 
     android:layout_row="0" 
     android:layout_gravity="fill" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:onClick="Buttontapped" 
     android:id="@+id/goodevening" /> 

    <Button 
     android:text="HI/Bye" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="0" 
     android:layout_row="1" 
     android:layout_gravity="fill" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:onClick="Buttontapped" 
     android:id="@+id/hibye" /> 

    <Button 
     android:text="Good Bye" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="1" 
     android:layout_row="1" 
     android:layout_gravity="fill" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:onClick="Buttontapped" 
     android:id="@+id/goodbye" /> 

    <Button 
     android:text="Please" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="0" 
     android:layout_row="2" 
     android:layout_gravity="fill" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:onClick="Buttontapped" 
     android:id="@+id/please" /> 

    <Button 
     android:text="Thank You &#10; Very Much" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="1" 
     android:layout_row="2" 
     android:layout_gravity="fill" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:onClick="Buttontapped" 
     android:id="@+id/thankyou" /> 

    <Button 
     android:text="Welcome" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="0" 
     android:layout_row="3" 
     android:layout_gravity="fill" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:onClick="Buttontapped" 
     android:id="@+id/welcome" /> 

    <Button 
     android:text="How are you?" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="1" 
     android:layout_row="3" 
     android:layout_gravity="fill" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:onClick="Buttontapped" 
     android:id="@+id/howareyou" /> 

</GridLayout> 

this how shown in mobile

this how shown in emulator

+0

给出更多详细信息...关于您的设备? – PN10

+0

三星Note 3。 –

+0

尝试将'android:layout_height ='wrap_content''替换为'android:layout_height =“0dp”'到列中的所有'button' – Naz141

回答

1

你可以达到你所期望的一样,而无需使用<GridLayout>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_main" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin"> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_weight="1" 
     android:layout_height="0dp"> 
     <Button 
      android:text="Good Morning" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:onClick="Buttontapped" 
      android:id="@+id/goodmorning" /> 
     <Button 
      android:text="Good Evening" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:onClick="Buttontapped" 
      android:id="@+id/goodevening" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_weight="1" 
     android:layout_height="0dp"> 
     <Button 
      android:text="Good Bye" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:onClick="Buttontapped" 
      android:id="@+id/goodbye" /> 
     <Button 
      android:text="HI/Bye" 
      android:id="@+id/hibye" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:onClick="Buttontapped"/> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_weight="1" 
     android:layout_height="0dp"> 
     <Button 
      android:text="Please" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:onClick="Buttontapped" 
      android:id="@+id/please" /> 
     <Button 
      android:text="Thank You &#10; Very Much" 
      android:id="@+id/thankyou" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:onClick="Buttontapped"/> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_weight="1" 
     android:layout_height="0dp"> 

     <Button 
      android:text="Welcome" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:onClick="Buttontapped" 
      android:id="@+id/welcome" /> 
     <Button 
      android:text="How are you?" 
      android:id="@+id/howareyou" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="match_parent" 
      android:onClick="Buttontapped"/> 
    </LinearLayout> 
</LinearLayout> 

+0

完美工作,谢谢 –

+0

太好了! Upvote :) :) – Naz141

+0

我已经做了,但...感谢您的反馈!记录下名声低于15的人的投票记录,但不要更改公开显示的帖子分数。 –