2017-02-16 2 views
-3

У меня есть некоторые проблемы при создании некоторых кнопок. Я хочу разместить 2 кнопки бок о бок (работает) и многое другое (exp. 3 Buttons) ниже в LinearLayout. На самом деле все работает для меня, но если я надену другую кнопку, кнопка будет внизу, но наверху будет свободное место.LinearLayout (вертикальный) putt 2 Кнопки рядом друг с другом и более кнопок ниже

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" > 


<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:gravity="center"> 

     <Button 
      android:id="@+id/button1" 
      android:text="Button1" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/mybutton" 
      android:layout_weight="1" 
      android:layout_marginBottom="200dp" /> 

     <Button 
      android:id="@+id/button2" 
      android:text="Button2" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/mybutton" 
      android:layout_weight="1" 
      android:layout_marginLeft="5dp" 
      android:layout_marginBottom="100dp" /> 

     <Button 
      android:id="@+id/button3" 
      android:text="Button3" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/mybutton" 
      android:layout_weight="1" 
      android:layout_marginLeft="5dp" 
      android:layout_marginBottom="200dp" /> 

    </LinearLayout> 

    </ScrollView> 

    </RelativeLayout> 

То, как это выглядит как атм.

image

+0

проблема с MarginBottom –

ответ

0
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" > 


<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:gravity="center"> 

     <Button 
      android:id="@+id/button1" 
      android:text="Button1" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/mybutton" 
      android:layout_weight="1" 
      android:layout_marginBottom="200dp" /> 

     <Button 
      android:id="@+id/button2" 
      android:text="Button2" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/mybutton" 
      android:layout_weight="1" 
      android:layout_marginLeft="5dp" 
      android:layout_marginBottom="200dp" /> 

     <Button 
      android:id="@+id/button3" 
      android:text="Button3" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/mybutton" 
      android:layout_weight="1" 
      android:layout_marginLeft="5dp" 
      android:layout_marginBottom="200dp" /> 

    </LinearLayout> 

    </ScrollView> 

    </RelativeLayout> 

Обновить ваш XML с этим, надеюсь, это поможет вам

+0

Здравствуйте, я знаю, этот метод меняющегося его по горизонтали, но с горизонтом я не могу поставить кнопку ниже первой кнопки – ExiizZ

+0

, что Вам нужно делать? Я не понимаю, –

+0

вам нужно три кнопки бок о бок справа? и что еще вам нужно? –

1

первым сделать ширину каждой кнопки 0dp. второй сделать запас нижней равно в 3 кнопки

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" > 


<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true"> 

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:gravity="center"> 

    <Button 
     android:id="@+id/button1" 
     android:text="Button1" 
     android:textColor="#FFFFFF" 
     android:textSize="30sp" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/mybutton" 
     android:layout_weight="1" 
     android:layout_marginBottom="200dp" /> 

    <Button 
     android:id="@+id/button2" 
     android:text="Button2" 
     android:textColor="#FFFFFF" 
     android:textSize="30sp" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/mybutton" 
     android:layout_weight="1" 
     android:layout_marginLeft="5dp" 
     android:layout_marginBottom="200dp" /> 

    <Button 
     android:id="@+id/button3" 
     android:text="Button3" 
     android:textColor="#FFFFFF" 
     android:textSize="30sp" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:background="@drawable/mybutton" 
     android:layout_weight="1" 
     android:layout_marginLeft="5dp" 
     android:layout_marginBottom="200dp" /> 

</LinearLayout> 

</ScrollView> 

</RelativeLayout> 
+0

+1, если использовать 'layout_weight', правильный подход - установить ширину в 0dp. Но 'layout_weight' не имеет большого значения без' weightSum' в родительском макете;) – Shark

0

здесь ваш код:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" > 


    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true"> 

     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      android:gravity="center"> 

      <Button 
       android:id="@+id/button1" 
       android:text="Button1" 
       android:textColor="#FFFFFF" 
       android:textSize="30sp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/mybutton" 
       android:layout_weight="1" 
       android:layout_marginBottom="200dp" /> 

      <Button 
       android:id="@+id/button2" 
       android:text="Button2" 
       android:textColor="#FFFFFF" 
       android:textSize="30sp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/mybutton" 
       android:layout_weight="1" 
       android:layout_marginLeft="5dp" 
       android:layout_marginBottom="200dp" /> 

      <Button 
       android:id="@+id/button3" 
       android:text="Button3" 
       android:textColor="#FFFFFF" 
       android:textSize="30sp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/mybutton" 
       android:layout_weight="1" 
       android:layout_marginLeft="5dp" 
       android:layout_marginBottom="200dp" /> 

     </LinearLayout> 

    </ScrollView> 

Просто сделайте android:layout_marginBottom="200dp" /> во 2-й кнопке.

0

Это происходит потому, что вы дали центру тяжести LinearLayout.

Решение только что вы просто удалите этот gravity тег и запустить снова

Заменить этот

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:gravity="center"> 

этой

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"> 
0

Если вы хотите поместить 3 кнопки ниже друг друга, вы должны установить ориентацию своего Li nearLayout - вертикально, а не горизонтально. Это отобразит ваши кнопки в вертикальном порядке.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" > 


    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true"> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      android:gravity="center"> 

      <Button 
       android:id="@+id/button1" 
       android:text="Button1" 
       android:textColor="#FFFFFF" 
       android:textSize="30sp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/mybutton" /> 

      <Button 
       android:id="@+id/button2" 
       android:text="Button2" 
       android:textColor="#FFFFFF" 
       android:textSize="30sp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/mybutton" /> 

      <Button 
       android:id="@+id/button3" 
       android:text="Button3" 
       android:textColor="#FFFFFF" 
       android:textSize="30sp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/mybutton" /> 

     </LinearLayout> 

    </ScrollView> 

</RelativeLayout> 
1

<?xml version="1.0" encoding="utf-8"?> 
 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:orientation="vertical" android:layout_width="match_parent" 
 
    android:layout_height="match_parent"> 
 
    <LinearLayout 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:orientation="horizontal" 
 
     android:layout_centerHorizontal="true" 
 
     android:id="@+id/layout_one"> 
 
     <Button 
 
      android:layout_width="wrap_content" 
 
      android:layout_height="wrap_content" 
 
      android:text="button 1"/> 
 
     <Button 
 
      android:layout_width="wrap_content" 
 
      android:layout_height="wrap_content" 
 
      android:text="button 2"/> 
 
    </LinearLayout> 
 
    <LinearLayout 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_below="@+id/layout_one" 
 
     android:layout_centerHorizontal="true"> 
 
     <Button 
 
      android:layout_width="wrap_content" 
 
      android:layout_height="wrap_content" 
 
      android:text="button 3" 
 
      /> 
 
    </LinearLayout> 
 
</RelativeLayout>

Это скриншот рис:

screenshot of pic