2016-05-02 14 views
2

GridViewを使用して画面を6等分に分割しようとしています。問題はエミュレータに正しく表示されていることですが、電話機から見るとスペースが不均等に分散します。何がこの現象を引き起こす可能性がありますか?GridLayoutは要素を均等に展開しません。

私はこれをAPI 21 & API 22携帯電話でテストしました。電話対

エミュレータ:

emulatorphone

これは私の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: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" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.myapp.myapp.myapp.MainActivity" 
    tools:showIn="@layout/activity_main"> 

     <GridLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" 
      android:columnCount="2" 
      android:rowCount="3" 
      android:layout_centerInParent="false"> 

      <Button 
       android:layout_column="0" 
       android:layout_gravity="fill" 
       android:layout_row="0" 
       android:layout_columnWeight="1.0" 
       android:layout_rowWeight="1.0" 
       android:text="c0 | r0" /> 

      <Button 
       android:layout_column="1" 
       android:layout_gravity="fill" 
       android:layout_row="0" 
       android:layout_columnWeight="1.0" 
       android:layout_rowWeight="1.0" 
       android:text="c1 | r0" /> 

      <Button 
       android:layout_column="0" 
       android:layout_gravity="fill" 
       android:layout_row="1" 
       android:layout_columnWeight="1.0" 
       android:layout_rowWeight="1.0" 
       android:text="c0 | r1" /> 

      <Button 
       android:layout_column="1" 
       android:layout_gravity="fill" 
       android:layout_row="1" 
       android:layout_columnWeight="1.0" 
       android:layout_rowWeight="1.0" 
       android:layout_width="0dp" 
       android:text="c1 | r1" /> 

      <Button 
       android:layout_column="0" 
       android:layout_gravity="fill" 
       android:layout_row="2" 
       android:layout_columnWeight="1.0" 
       android:layout_rowWeight="1.0" 
       android:text="c0 | r2" /> 

      <Button 
       android:layout_column="1" 
       android:layout_gravity="fill" 
       android:layout_row="2" 
       android:layout_columnWeight="1.0" 
       android:layout_rowWeight="1.0" 
       android:text="c1 | r2" /> 
     </GridLayout> 

</RelativeLayout> 

答えて

0

は、私の知る限りでは、レイアウトの重量はLinearLayoutでのみ動作しますが、あなたはRelativeLayoutを使用しています。それを切り替えてみてください。

+0

提案していただきありがとうございます.LinearLayoutで試してみましたが、問題は解決しません。 –

+0

あなたはandroid:layout_alignParentBottom、android:layout_alignParentRightとandroid:layout_alignParentEndをGridLayoutにコメントアウトできますか? – Aurasphere

+0

まだ同じ結果です。 –

関連する問題