11-Ma’ruza Mavzu: Resurslar va fragmentlar. Reja: Resurslar bilan ishlash


Download 345.81 Kb.
bet5/12
Sana23.06.2023
Hajmi345.81 Kb.
#1652619
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
11-maruza

Plurals resurslari. Plurals satrlarning yana bir turini anglatadi. Bu buyumlar sonini tavsiflash uchun mo'ljallangan. Bu nima uchun? Masalan, ismni olaylik: u ko'pincha ishlatilgan songa qarab sonni o'zgartiradi: 1 gul, 2 gul, 5 gul. Bunday holatlar uchun p_lurals resursidan foydalaniladi.
Keling, bir misolni ko'rib chiqaylik. res/values papkasiga yangi resurs qo'shaylik. Keling, uni flowers deb ataymiz:

Uning tarkibini quyidagicha o'zgartiraylik:




%d цветок
%d цветка
%d цветков



Resursni aniqlash uchun <plurals> elementidan foydalaniladi, buning uchun nom atributi mavjud bo'lib, u o'zboshimchalik bilan nomni qiymat sifatida qabul qiladi va keyinchalik ushbu resursga murojaat qiladi.
Satr satrlarning o'zi voris elementlari tomonidan kiritiladi <item> elementlari. Ushbu elementda ushbu satr ishlatilishini ko'rsatadigan qiymatga ega bo'lgan miqdor atributi mavjud. Ushbu atribut quyidagi qiymatlarni qabul qilishi mumkin:

  • zero: 0 o'lchamdagi miqdor uchun satr

  • one: satrga 1 miqdor (rus tilida - 1 bilan tugaydigan barcha miqdorlarni ko'rsatish uchun, 11dan tashqari)

  • two: 2 o'lchamdagi miqdor uchun satr

  • few: oz miqdordagi satr

  • many: katta sonlar uchun satr

  • other: boshqa barcha holatlar

Bunday holda, ko'p narsa o'ziga xos tilga bog'liq. Va tizimning o'zi ma'lum bir raqam uchun qanday qiymat olish kerakligini aniqlashga imkon beradi.
Ushbu resursdan faqat java kodida foydalanish mumkin. Shuning uchun biz MainActivity kodini o'zgartiramiz:
package com.example.viewapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
String rose = getResources().getQuantityString(R.plurals.flowers, 21, 21);
TextView textView = new TextView(this);
textView.setText(rose);
textView.setTextSize(26);
setContentView(textView);
}
}

Download 345.81 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling