2015-04-23 3 views
0

Я создаю карточную игру, используя стандартную колоду из 52 игральных карт. Я хочу создать случайное число между 0 и 52 и в зависимости от числа, нарисуйте назначенную карту на этот номер. Как мне это сделать?android: присвоение номера определенному изображению

ответ

0

Хорошо, давайте предположим, что у вас есть активность, как это:

public void onCreate (Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mainLayout); 

    ImageView imageView = (ImageView) findViewById(R.id.myCard); 

    Randon ran = new Random(); 
    int number = ran.nextInt(51); 

    switch(number){ 
     case (0): 
      imageView.setImageResource(R.drawable.card0); 
     case (1): 
      imageView.setImageResource(R.drawable.card1); 
     case (2): 
      imageView.setImageResource(R.drawable.card2); 
     //Rest of cases 
    } 
} 

Теперь давайте предположим, что у вас есть mainLayout.xml файла внутри Реза/макет папка, которая выглядит следующим образом:

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

<ImageView 
    android:id="@+id/myCard" 
    android:src="@drawable/initialViewOfTheCard" 
    android:layout_width="match_parent" 
    android:layout_width="match_parent"/> 

</LinearLayout> 

У вас есть! Это очень просто, но я думаю, что у вас есть идея!

Редактировать: Предлагаю вам изучить, как использовать GridLayouts в ваших макетах! Это сделает вещи намного проще, чтобы показать много карт одновременно!

Edit2: Вы можете смоделировать карту POJO с идентификатором и номером карты в качестве атрибутов! Тогда вы можете иметь объекты «Список карт», и вы можете использовать ListAdapter для заполнения GridView!

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