android - перекриття зображень (гральні карти)

Я намагаюся зробити карти в моїй грі перекритими так, що бачиться лише перша половина картки, а друга половина покривається наступною гральною картою. Єдина картка, яка повинна бути повністю видимою, буде останньою/правою картою.

Я використав наступний код як з framelayout і relativelayout безрезультатно. хто-небудь може запропонувати деякі пропозиції?

public int shouldShow(int numberOfCards, int card, int id)
{
    if(card == -1)
        hide(id);
    else
    {
        findViewById(id).setBackgroundDrawable(deckimages[card]);
        //findViewById(id).offsetLeftAndRight(findViewById(id).getWidth()* numberOfCards/2);
        show(id);
        //findViewById(id).setPadding(findViewById(id).getWidth()* numberOfCards/2, 0,0,0);
        return numberOfCards+1;
    }
    return numberOfCards;
}

Я спробував використовувати оббивку і метод зсуву ні з яких працюють для мене. але я також помітив, що getwidth() і getmeasuredwidth() методи повертаються 0.

будь-які пропозиції, на яких компонуванні я повинен використовувати і чому функції getwidth не працюють?

xml код нижче ... було б більше зображень, ніж це, але це те, що я тестував


            
            
        
6
ви можете розмістити XML?
додано Автор josephus, джерело
його оновлюється --- його відносна прогалина всередині іншого відносногопотоку
додано Автор JLK, джерело

2 Відповіді

Я застряг на це для віків та після 4 годин messing з кодом та Googling. Я, нарешті, з'ясував рішення, і це досить просто.

Все, що вам потрібно зробити, це вирівняти наступну карту вгорі і ліворуч від попередньої карти. Це зробить так, що друга карта буде розміщена на верхній частині картки раніше. Потім встановіть leftMargin , щоб "натиснути" карту зверху вправо, створюючи частковий ефект перекриття.

Ось мій код (виконаний програмно):

for(int i=0; i
8
додано
Що таке ll у ll.addView (ib), чи означає це, що батьківський контейнер має лінійну розкладку? було б дуже вдячно, якщо ви могли б пояснити і поділитися кодом файлу макета.
додано Автор oat, джерело
не треба хвилюватися - це зрозуміло :) Велике спасибі
додано Автор oat, джерело

You can provide view bounds intentionally mismatched with image size, and use ScaleType of an Imageview: http://developer.android.com/reference/android/widget/ImageView.ScaleType.html. For example, android:scaleType="fitStart"

1
додано
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.