2017-10-03 11 views
-2

私は4x4ボタンをrelativelayoutにあるグリッドレイアウトに合わせようとしています。すべては仮想マシンでは問題ありませんが、私の銀河系s6では、右のボタンがうまくはまりません。 私のXMLファイル:Android GridLayout Fitting Error

<?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> 

マイScreenshoot仮想マシンから virtualmachinescreenshoot マイScreenshoot本当ギャラクシーS6 galaxys6screenshoot からは、どのように私はこのアプリは、エミュレータ上のように見えることができますか? 更新: 私はエミュレータをGalaxy S6に変更しましたが、現在はエミュレータでも破損しています。 enter image description here

答えて

0

。 カートクラスで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

0

は真=彼らはimageViewsであれば、各セルの幅にlayout_weight = 1とlayout_width = 0dp使用もadjustViewBoundsを追加しようと解決scaleType = centerInside

+0

彼らはボタンです。(android.support.v7.widget.AppCompatButton) –

+0

私はまだ –

+0

がボタンのlayout_width = 0とlayout_weight = 1つのものを試してみて、それが助けかどうかを確認助けが必要です。私はいつもそれが欲しいと思うようにgridlayoutを動かそうとしていたので、レイアウトには他のオプションがあります。 LinearLayouts、TableLayout、RelativeLayoutなどを使うことができます。入れ子にされたLinearLayoutsは最も単純な – Chad