2017-04-26 53 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

请检查下面的答案,我已经添加的LinearLayoutweightSum保持

的EditText - >按钮 - >按钮

<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

谢谢。使用我重做它,完全删除gridlayout。我的下半部分仍然存在问题,包含文本字段和按钮。 我有一个水平线性布局(权重3),其中包含一个垂直线性布局权重1(然后有EditText的)和一个水平线性布局,其中按钮的重量为2,但它仍然看起来被分割成一半在权重3 horix线性布局? – AndyCr15

+0

告诉我你想怎么 –

相关问题