2017-04-26 26 views
2

申し訳ありませんが、私はレイアウトでうまくやっていません。私は別のボタンの隣にいくつかのテキストフィールドの隣にボタンを追加しようとしています。私がボタンが列3にあると言うと、プレビューでは画面の右に飛び跳ねます...何が間違っていますか?GridLayoutが期待通りに表示されない

enter image description here

<GridLayout 
 
     android:id="@+id/mainGrid" 
 
     android:layout_width="0dp" 
 
     android:layout_height="0dp" 
 
     android:columnCount="3" 
 
     android:rowCount="8" 
 
     android:layout_margin="16dp" 
 
     android:layout_marginBottom="16dp" 
 
     android:layout_marginLeft="16dp" 
 
     android:layout_marginRight="16dp" 
 
     android:layout_marginStart="16dp" 
 
     android:layout_marginTop="16dp" 
 
     app:layout_constraintBottom_toBottomOf="parent" 
 
     app:layout_constraintHorizontal_bias="0.0" 
 
     app:layout_constraintLeft_toLeftOf="parent" 
 
     app:layout_constraintRight_toRightOf="parent" 
 
     app:layout_constraintTop_toTopOf="parent" 
 
     app:layout_constraintVertical_bias="0.0" 
 
     android:layout_marginEnd="16dp"> 
 

 
     <ListView 
 
      android:id="@+id/itemListView" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="350dp" 
 
      android:layout_column="0" 
 
      android:layout_columnSpan="3" 
 
      android:layout_row="0" /> 
 

 
     <TextView 
 
      android:id="@+id/Instructions" 
 
      android:layout_width="wrap_content" 
 
      android:layout_height="wrap_content" 
 
      android:layout_column="0" 
 
      android:layout_columnSpan="3" 
 
      android:layout_row="1" 
 
      android:text="Enter details of item to add to you timer list below. Enter the times in seconds. The finish by refers to if you need an item to finish before the end, again in seconds." /> 
 

 
     <EditText 
 
      android:id="@+id/itemName" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:layout_column="0" 
 
      android:layout_columnSpan="2" 
 
      android:layout_row="2" 
 
      android:ems="10" 
 
      android:hint="Item to add" 
 
      android:inputType="textPersonName" /> 
 

 
     <EditText 
 
      android:id="@+id/itemTime" 
 
      android:layout_width="120dp" 
 
      android:layout_height="wrap_content" 
 
      android:layout_column="0" 
 
      android:layout_row="3" 
 
      android:ems="10" 
 
      android:hint="Time in seconds" 
 
      android:inputType="time" 
 
      android:nextFocusDown="@+id/finishTime" 
 
      android:nextFocusForward="@+id/finishTime" 
 
      android:nextFocusRight="@+id/finishTime" /> 
 

 
     <EditText 
 
      android:id="@+id/finishTime" 
 
      android:layout_width="120dp" 
 
      android:layout_height="wrap_content" 
 
      android:layout_column="0" 
 
      android:layout_row="4" 
 
      android:ems="10" 
 
      android:hint="Seconds it needs to finish by" 
 
      android:inputType="time" /> 
 

 
     <Button 
 
      android:id="@+id/addItem" 
 
      android:layout_width="wrap_content" 
 
      android:layout_height="wrap_content" 
 
      android:layout_column="1" 
 
      android:layout_margin="16dp" 
 
      android:layout_row="3" 
 
      android:layout_rowSpan="2" 
 
      android:onClick="addItem" 
 
      android:padding="16dp" 
 
      android:text="Add" /> 
 

 
     <Button 
 
      android:id="@+id/timerButton" 
 
      android:layout_width="wrap_content" 
 
      android:layout_height="wrap_content" 
 
      android:layout_column="1" 
 
      android:layout_margin="16dp" 
 
      android:layout_row="5" 
 
      android:layout_rowSpan="2" 
 
      android:text="Start Timer" /> 
 

 

 
    </GridLayout> 
 
</android.support.constraint.ConstraintLayout>

答えて

0

答えの下に確認してください、私はのEditTextのよう

それを維持するのLinearLayoutweightSumを追加した - >ボタン - >ボタン

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/mainGrid" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:weightSum="5" > 

     <ListView 
      android:id="@+id/itemListView" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="3" 
      android:padding="5dp" /> 

     <TextView 
      android:id="@+id/Instructions" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_gravity="center" 
      android:layout_weight="0.7" 
      android:gravity="start|left" 
      android:padding="5dp" 
      android:singleLine="false" 
      android:text="Enter details of item to add to you timer list below. Enter the times in seconds. The finish by refers to if you need an item to finish before the end, again in seconds." /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1.3" 
      android:orientation="horizontal" 
      android:weightSum="2" > 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:orientation="vertical" > 

       <EditText 
        android:id="@+id/itemName" 
        android:layout_width="wrap_content" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:ems="10" 
        android:hint="Item to add" 
        android:inputType="textPersonName" /> 

       <EditText 
        android:id="@+id/itemTime" 
        android:layout_width="wrap_content" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:ems="10" 
        android:hint="Time in seconds" 
        android:inputType="time" 
        android:nextFocusDown="@+id/finishTime" 
        android:nextFocusForward="@+id/finishTime" 
        android:nextFocusRight="@+id/finishTime" /> 

       <EditText 
        android:id="@+id/finishTime" 
        android:layout_width="wrap_content" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:ems="10" 
        android:hint="Seconds it needs to finish by" 
        android:inputType="time" /> 
      </LinearLayout > 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_gravity="center" 
       android:layout_weight="1" 
       android:orientation="horizontal" > 

       <Button 
        android:id="@+id/addItem" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_margin="16dp" 
        android:layout_weight="1" 
        android:gravity="center" 
        android:onClick="addItem" 
        android:padding="16dp" 
        android:text="Add" /> 

       <Button 
        android:id="@+id/timerButton" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_margin="16dp" 
        android:layout_weight="1" 
        android:gravity="center" 
        android:text="Start Timer" /> 
      </LinearLayout > 
     </LinearLayout > 
    </LinearLayout > 
</LinearLayout > 
+0

これはあなたのために働いていますか?あなたが立ち往生しているかどうか私に知らせる。@ AndyCr15 –

+0

ありがとう。それを使って、私はそれをやり直して、グリッドレイアウトを完全に削除します。私はまだ下部にテキストフィールドとボタンで問題があります。 私は、垂直線形レイアウトの重み1(EditTextが入っている)と、ボタン2が入っているhoriz Linearlayoutを含む水平線形レイアウト(weightsum 3)を持っていますが、それでも半分に分割されていますweightsum 3 horix linearレイアウトでは? – AndyCr15

+0

あなたがほしいと思う方法を示す –

関連する問題