2016-04-24 60 views
0

所以,我想做一個用於3個不同表格的添加活動。 在最後一個我希望日期EditText不見了。如何更改java中按鈕的對齊方式?

我知道如何使它消失,但我想要的佈局O改變過,這是它的外觀時的日期的EditText存在

3 EditTexts and Button with alignbottom set to date EditText

,這是它的外觀,當我設定日期的EditText到了

2 EditTexts and Button with alignbottom set to the gone EditText

+0

什麼是你預計的佈局呢? –

回答

-1

LinearLayout與垂直含有的EditText的取向,裹在水平LinearLayout含有Button太。如果這兩個LinearLayoutButton有包裹內容的高度,他們會不顧適應的EditText有多少

enter image description here

enter image description here

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1"> 

     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Text" 
      android:id="@+id/textView" /> 

     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Text" 
      android:id="@+id/textView2" /> 

     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="New Text" 
      android:id="@+id/textView3" /> 
    </LinearLayout> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:text="New Button" 
     android:id="@+id/button" 
     android:layout_weight="1" 
     android:background="#3e3e3e" /> 
</LinearLayout> 
+0

ty,與Matcoil告訴我的答案相同,但是我在RelativeLayout中有主項目,因爲我有一個微調項目設置爲消失,所以我不能使用水平LinearLayout –

+0

關鍵是在權重?它根本不是! – Matcoil

1

嘗試佈局這樣的:

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="2" 
      android:orientation="vertical"> 

      <EditText 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1"/> 

      <EditText 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1"/> 

      <EditText 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1" 
       android:visibility="visible"/> 

     </LinearLayout> 

     <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1"/> 

    </LinearLayout> 

</LinearLayout> 

事情是,您需要另一個支持佈局,這是我的層次結構中的第二個,它將具有android:layout_height =「wrap_content」,因此當您將可見性設置爲其中一個EditText時,它是要根據其他兩個EditTexts高度來更改LinearLayout的高度,其中Button的高度總是爲android:layout_height =「match_parent」。

+0

試過了,按鈕會過長,就像EditText的日期還在那裏 –

+0

好吧,我想,那就是你想要的。所以你想要的按鈕是其餘兩個edittexts的高度? – Matcoil

+0

是的,這就是我想要做的 –