2016-02-20 2 views
0

Я пытаюсь сделать карточную игру, в которой играют четыре игрока со стандартной колодой из 52 карт, разделенных поровну. Я хочу отображать 13 карт на каждой стороне экрана и 4 карты в середине (эти карты будут отображаться, когда каждый игрок совершает поворот). Я добавил 13 карт по 4 LinearLayouts и показал их по бокам. два справа повернуты (см. код).Android ImageView оставляет пробелы с края экрана

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/table_back1" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:orientation="horizontal" > 

     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView7" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView8" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView9" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView10" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView11" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView12" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/imageView13" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1_full" /> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentTop="true" 
     android:orientation="horizontal" 
     android:rotation="180" > 

     <ImageView 
      android:id="@+id/ImageView14" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView15" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView16" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView17" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView18" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView19" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView20" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView21" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView22" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView23" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView24" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView25" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView26" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1_full" /> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/LinearLayout3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:orientation="horizontal" 
     android:layout_margin="10dp" 
     android:rotation="270" > 

     <ImageView 
      android:id="@+id/ImageView27" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView28" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView29" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView30" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView31" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView32" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView33" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView34" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView35" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView36" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView37" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView38" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView39" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1_full" /> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/LinearLayout4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:orientation="horizontal" 
     android:layout_margin="10dp" 
     android:rotation="90" > 

     <ImageView 
      android:id="@+id/ImageView40" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView41" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView42" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView43" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView44" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView45" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView46" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView47" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView48" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView49" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView50" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView51" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1" /> 

     <ImageView 
      android:id="@+id/ImageView52" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:src="@drawable/back1_full" /> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/LinearLayout5" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:orientation="horizontal" > 

     <ImageView 
      android:id="@+id/center1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="false" 
      /> 

     <ImageView 
      android:id="@+id/center2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="false" 
      /> 

     <ImageView 
      android:id="@+id/center3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="false" 
      /> 

     <ImageView 
      android:id="@+id/center4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="false" 
      /> 

    </LinearLayout> 

</RelativeLayout> 

Что у меня есть:

enter image description here

Что я хочу:

Вертикальные карты должны быть прикреплены к краям экрана, как они должны быть, потому что я комплект android:layout_alignParentRight="true" и android:layout_alignParentLeft="true"

Проблемы:

  • Карты находятся в середине экрана, вместо того, чтобы быть прикреплены к сторонам
  • я попытался отобразить 13 карт в LinearLayout, но карты пошли закадровый с обеих сторон поэтому мне пришлось обрезать карту и показать полные карты только на краю.
  • Вертикальные карты начинают перемещаться к краю экрана при каждом касании.

Вопросы:

  • есть способ, в котором я могу складывать карты (перекрытия) их, чтобы они все еще показывают то же самое, без необходимости обрезать изображение?
  • В чем причина того, что карты не прикреплены к краю экрана?
  • Есть ли лучший подход к решению этой проблемы?

Я должен сделать это только с помощью XML. Также я новичок в android, поэтому, пожалуйста, объясните свое решение так, как я могу понять.

Заранее спасибо.

ответ

0

Я попробовал ваш макет просто заменить изображение с одним из моего изображения и вот мой результат:

cards

Так что я не понимаю вашего результата.Но если я хотел бы сделать то, что вы хотите с тем, что у вас есть сейчас я хотел бы сделать что-то вроде этого:

1) верхний левый верхний правый:

<LinearLayout 
    android:id="@+id/LinearLayout4" 
    android:layout_width="match_parent" 
    android:layout_height="50dp"></LinearLayout> 

2) верхний правый нижний левый :

<LinearLayout 
    android:id="@+id/LinearLayout4" 
    android:layout_width="50dp" 
    android:orientation="vertical" 
    android:layout_height="match_parent" 
    android:layout_alignParentRight="true"></LinearLayout> 

3) нижний левый нижний правый

<LinearLayout 
    android:id="@+id/LinearLayout4" 
    android:layout_width="match_parent" 
    android:layout_height="50dp" 
    android:layout_alignParentBottom="true"></LinearLayout> 

4) верхний левый нижний левый

<LinearLayout 
    android:id="@+id/LinearLayout4" 
    android:layout_width="50dp" 
    android:layout_height="match_parent" 
    android:orientation="vertical"></LinearLayout> 

Это правильный способ сделать это с помощью LinearLayout, но если вы это сделаете, вы поймете, что он выходит за границу. Поэтому вам придется использовать вес. Например, если у вас есть 13cards/LinearLayout, вам придется добавить в свой LinearLayout android: android: weightSum = "13" и сказать в каждой из своих карт, что они должны взять, так вот здесь 1. (android: layout_weight = «1» на каждой вашей карте). Таким образом, он будет делить ваш экран в 13 блоков, и один блок будет заполнен карточкой. Но LinearLayout поставил своего ребенка бок о бок (вот почему я не понимаю ваш результат, когда мы можем видеть карту один на другом).

Таким образом, лучший способ сделать это, если вы хотите поставить один на другой, - использовать RelativeLayout.

Если вам нужна дополнительная информация, дайте мне знать.

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