2013-12-23 5 views
2

Я создаю макет для своего приложения, и у меня возникает следующая проблема.Набор кнопок для обертывания содержимого занимает больше места, чем нужно

В моем файле макета

http://gyazo.com/6b5aee107702c46637d9b799ab9170c6.png

Но когда я положил его в фрагмент (через ListView, или просто с, это выглядит следующим образом:

enter image description here

категории. xml (шаблон для заполнения ListView впоследствии)

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_alignParentTop="true" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="@color/second_grey"> 

<RelativeLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentStart="true"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_alignParentLeft="true" 
     android:id="@+id/categoryName" 
     android:text="@string/sport" 
     android:textSize="24sp"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="12dp" 
     android:id="@+id/button" 
     android:text="@string/see_more" 
     android:textSize="12sp" 
     android:background="@drawable/blue" 
     android:textColor="@android:color/white" /> 
</RelativeLayout> 

<LinearLayout 
    android:orientation="horizontal" 
    android:baselineAligned="false" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:weightSum="0.99"> 

    <RelativeLayout 
     android:layout_height="wrap_content" 
     android:background="@drawable/card" 
     android:layout_width="0dp" 
     android:layout_weight="0.33"> 
     <com.favega.groups.SquareLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/imgContainer1"> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="8dp" 
       android:id="@+id/img1" 
       android:src="@drawable/img_football" /> 
     </com.favega.groups.SquareLayout> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/football" 
      android:padding="8dp" 
      android:id="@+id/tv1" 
      android:layout_below="@+id/imgContainer1" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:layout_height="wrap_content" 
     android:background="@drawable/card" 
     android:layout_width="0dp" 
     android:layout_weight="0.33"> 
     <com.favega.groups.SquareLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/imgContainer2"> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="8dp" 
       android:id="@+id/img2" 
       android:src="@drawable/img_football" /> 
     </com.favega.groups.SquareLayout> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/basketball" 
      android:padding="8dp" 
      android:id="@+id/tv2" 
      android:layout_below="@+id/imgContainer2" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:layout_height="wrap_content" 
     android:background="@drawable/card" 
     android:layout_width="0dp" 
     android:layout_weight="0.33"> 
     <com.favega.groups.SquareLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/imgContainer3"> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="8dp" 
       android:id="@+id/img3" 
       android:src="@drawable/img_football" /> 
     </com.favega.groups.SquareLayout> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/tennis" 
      android:padding="8dp" 
      android:id="@+id/tv3" 
      android:layout_below="@+id/imgContainer3" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 
    </RelativeLayout> 
</LinearLayout> 

fragment_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:background="@color/second_grey" 
tools:context="com.favega.groups.MainActivity$CategoryFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<include layout="@layout/category" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true"></include> 

+0

попытка установить 'андроида: layout_width = "wrap_parent" андроид: layout_height = "fill_parent"' в 'fragment_main.xml' –

+0

удалить это для TextView 'андроид: layout_alignParentEnd = "истинный"' и попробовать .. –

+0

@ chintankhetiya Где ты имеешь в виду? На или на RelativeLayout? –

ответ

3

Попробуйте это .. Используйте TextView вместо Button если вы используете Buttondefaultly его» l принимать большую часть

<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="12dp" 
     android:id="@+id/button" 
     android:text="see_more" 
     android:textSize="12sp" 
     android:background="@drawable/blue" 
     android:textColor="@android:color/white" /> 
+0

Это исправление. Не могли бы вы объяснить, почему Баттон требует столько места? –

+1

@zyngawow обычно 'Button' будет получать от 50 до 55 dp height, поэтому он получает такой размер. – Hariharan

+0

Как я мог сделать фоновое расширение немного больше с точки зрения ширины? Я хотел бы около 1dp с каждой стороны –

0

Удалить набивка из относительного расположения fragment_main.xml

Смежные вопросы