„Android“ matavimo vienetų įvadas
Kuriant „Android“, norint sukurti reaguojančią ir vizualiai nuoseklią vartotojo sąsają, labai svarbu suprasti skirtingus matavimo vienetus, tokius kaip px, dip, dp ir sp. Kiekvienas iš šių vienetų tarnauja tam tikram tikslui, o žinant, kada juos naudoti, galite žymiai pagerinti programos dizaino kokybę.
Pikseliai (px) yra pagrindinis matavimo vienetas, tačiau skirtinguose įrenginiuose jie gali būti nepatikimi. Nuo tankio nepriklausomi pikseliai (dip arba dp) ir nuo mastelio nepriklausomi pikseliai (sp) suteikia daugiau lankstumo ir nuoseklumo, todėl jie yra būtini įrankiai šiuolaikiniams „Android“ kūrėjams.
komandą | apibūdinimas |
---|---|
<LinearLayout> | Rodinių grupė, sulygiuojanti visus vaikus viena kryptimi, vertikaliai arba horizontaliai. |
xmlns:android | Apibrėžia „Android“ atributų XML vardų erdvę, leidžiančią makete naudoti „Android“ būdingas ypatybes. |
android:orientation | Nurodo LinearLayout išdėstymo kryptį, vertikalią arba horizontalią. |
TypedValue.COMPLEX_UNIT_SP | Nurodo šrifto dydžio matavimo vienetą, leidžiantį keisti tekstą pagal vartotojo nuostatas. |
setTextSize | Nustato TextView teksto dydį, naudojant nurodytą matavimo vienetą (pvz., sp). |
setPadding | Prideda prie rodinio užpildymo, nurodant erdvę aplink rodinio turinį. |
setContentView | Nustato veiklos turinį į aiškų rodinį, leidžiantį kurti dinaminę vartotojo sąsają kode. |
„Android“ matavimo vienetų pavyzdys
Pirmasis scenarijus parodo, kaip apibrėžti paprastą „Android“ išdėstymą naudojant XML. Šiame išdėstyme a <LinearLayout> naudojamas vertikaliai išlyginti savo vaikus. The xmlns:android atributas nurodo „Android“ skirtą XML vardų sritį, kuri leidžia naudoti „Android“ būdingas ypatybes. Šiame išdėstyme a <TextView> yra įtraukta į tokias savybes kaip android:textSize nustatytas į 16sp ir android:padding nustatytas į 10dp. Šie vienetai užtikrina, kad teksto dydis ir užpildymas atitiktų skirtingą ekrano tankį ir vartotojo nuostatas.
Antrasis scenarijus parašytas Kotlin kalba ir iliustruoja, kaip programiškai sukurti dinaminę vartotojo sąsają. Ji importuoja reikalingas „Android“ bibliotekas ir apibrėžia pagrindinę veiklą. Per onCreate metodas, a TextView yra sukurtas ir sukonfigūruotas naudojant tokius metodus kaip setTextSize su TypedValue.COMPLEX_UNIT_SP ir setPadding. Galiausiai, setContentView metodas tai nustato TextView kaip veiklos turinio rodinį. Šis metodas yra naudingas kūrėjams, kurie nori apibrėžti vartotojo sąsajos elementus kode, o ne XML.
Skirtumas tarp px, dip, dp ir sp „Android“.
Android XML pavyzdys
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is a TextView with dp and sp units"
android:textSize="16sp"
android:padding="10dp"/>
</LinearLayout>
„Android“ kūrimo matavimo vienetų supratimas
Kotlin pavyzdys, skirtas Android
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.util.TypedValue
import android.widget.TextView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val textView = TextView(this)
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16f)
textView.setPadding(10, 10, 10, 10)
setContentView(textView)
}
}
Giliai pasinerkite į „Android“ matavimo vienetus
Kitas svarbus aspektas, į kurį reikia atsižvelgti dirbant su „Android“ matavimo vienetais, yra tankio segmentų koncepcija. „Android“ įrenginiuose yra įvairių ekrano tankių, kurie skirstomi į tokias kategorijas kaip ldpi (mažas tankis), mdpi (vidutinis tankis), hdpi (didelis tankis) ir pan. Šių segmentų supratimas padeda kūrėjams pasirinkti tinkamą įrenginį skirtingiems ekrano dydžiams ir skyroms.
Pavyzdžiui, naudojant dp arba dip užtikrina, kad vartotojo sąsajos elementai išlaikytų vienodą fizinį dydį visuose įrenginiuose. Iš kitos pusės, sp yra labai svarbus prieinamumui, nes atsižvelgiama į vartotojo šrifto dydžio nuostatas. Šis skirtumas padeda sukurti įtraukesnę programos patirtį.
Dažnai užduodami klausimai apie „Android“ matavimo vienetus
- Kas yra pagrindinis naudojimas px kuriant Android?
- px reiškia pikselius ir reiškia vieną tašką ekrane. Tai naudinga nustatant absoliučią padėtį ir atliekant tikslius matavimus, tačiau tai gali sukelti nenuoseklumą skirtinguose įrenginiuose.
- Kodėl kūrėjai turėtų teikti pirmenybę dp baigta px?
- dp (nuo tankio nepriklausantys pikseliai) yra skirti užtikrinti vienodą dydį skirtinguose įrenginiuose, neatsižvelgiant į ekrano tankį. Dėl to vartotojo sąsaja tampa patikimesnė ir nuoseklesnė.
- Kaip sp skiriasi nuo dp?
- sp (nuo mastelio nepriklausomi pikseliai) yra panašūs į dp bet taip pat yra keičiami pagal vartotojo šrifto dydžio nuostatas. Tai ypač svarbu norint užtikrinti teksto skaitomumą.
- Kada tikslinga naudoti dp?
- dp turėtų būti naudojami atliekant visus išdėstymo matmenis, išskyrus teksto dydžius, užtikrinant, kad elementai būtų proporcingi skirtinguose ekranuose.
- Ar galite pateikti pavyzdį, kur sp yra kritinis?
- sp yra labai svarbus nustatant teksto dydžius, siekiant atsižvelgti į naudotojo pasiekiamumo nustatymus ir suteikti geresnę vartotojo patirtį.
- Kas atsitiks, jei tik px yra naudojamas programoje?
- Naudojant tik px gali lemti prastą vartotojo sąsają, kuri įvairiuose įrenginiuose atrodo skirtingai, todėl programa tampa mažiau patogi.
- Ar yra kokių nors naudojimo išimčių dp ir sp?
- Apskritai, dp ir sp pirmenybė teikiama, bet px vis tiek gali būti naudinga piešimo operacijoms ir kai reikalingas tikslus pikselių valdymas.
- Kaip veikia ekrano tankis dp?
- Ekrano tankis turi įtakos kaip dp reikšmės pateikiamos, nes sistema jas koreguoja, kad išlaikytų fizinio dydžio nuoseklumą skirtinguose tankiuose.
- Kokie įrankiai gali padėti dirbant su šiais įrenginiais?
- „Android Studio“ ir tokie įrankiai kaip „Layout Inspector“ gali padėti kūrėjams vizualizuoti ir koreguoti dp ir sp vienetai efektyviai.
„Android“ matavimo vienetų apibendrinimas
Kitas svarbus aspektas, į kurį reikia atsižvelgti dirbant su „Android“ matavimo vienetais, yra tankio segmentų koncepcija. „Android“ įrenginiuose yra įvairių ekrano tankių, kurie skirstomi į tokias kategorijas kaip ldpi (mažas tankis), mdpi (vidutinis tankis), hdpi (didelis tankis) ir pan. Šių segmentų supratimas padeda kūrėjams pasirinkti tinkamą skirtingų ekrano dydžių ir skyrų įrenginį.
Pavyzdžiui, naudojant dp arba dip užtikrina, kad vartotojo sąsajos elementai išlaikytų vienodą fizinį dydį visuose įrenginiuose. Iš kitos pusės, sp yra labai svarbus prieinamumui, nes atsižvelgiama į vartotojo šrifto dydžio nuostatas. Šis skirtumas padeda sukurti įtraukesnę programos patirtį.
Pagrindiniai „Android“ įrenginių pasiūlymai
Apibendrinant, suprasti skirtumus tarp px, dp, dip, ir sp yra gyvybiškai svarbus efektyviam „Android“ kūrimui. Pikseliai užtikrina tikslų valdymą, tačiau trūksta nuoseklumo visuose įrenginiuose. Nuo tankio nepriklausantys pikseliai užtikrina nuoseklų ekranų dydį, o nuo mastelio nepriklausomi pikseliai prisitaiko prie naudotojo pageidavimų ir pagerina pasiekiamumą. Įvaldę šiuos vienetus, kūrėjai gali sukurti reaguojančias ir patogias sąsajas, užtikrinančias nuoseklią ir įtraukią patirtį visiems vartotojams. Šios žinios yra būtinos bet kuriam kūrėjui, siekiančiam kurti aukštos kokybės Android programas.