Mengatur Multi-Screen Pada Android (Eclipse)
Mengatur Multi-Screen Pada Android (Eclipse)
NovianAgung(/prole/novianagung),komentar30May2014
TentunyaAndatahudongkalauperangkatdenganOSAndroidituadabermacammacambaikbentuk,ukuran,maupunversinya.
SalahsatuyangharuspalingdiperhakanolehpengembangaplikasiAndroidadalahbagaimanacaranyaagartampilanaplikasi
yangdikembangkandapatterlihatbaikpadaperangkatperangkatyangbermacammacamtersebut.
Berdasarkancaramenampilkanaplikasi,ratarataperangkatAndroiditudibagimenjadi2(dua)yaituberdasarkanorientasi
(portraitdanlandscape),sertaberdasarkanukuranlayar(small,normal,large,xlarge[extralarge]).KarenaseperyangAnda
ketahuikalaujenisperangkatyangmenggunakanOSAndroidinibermacammacam,adaponselbiasadenganresolusikecil,
ponseldenganresolusibesar,tablet,phablet,dansebagainya.Tentunyapengembangharusdapatmengakomodirperbedaan
perbedaantersebutagaraplikasinyadapatberjalandenganbaikpadakondisiperangkatyangberbedabeda.
Misalnyasajauntuklayardenganorientasilandscapemakatampilanamplikasiakanterdiridari2(dua)panel(bagian),panelkiri
danpanelkanan,sedangkanuntukyangorientasiportraitakanmenggunakan1(satu)panelsaja.Kemudianuntukperangkat
denganresolusirendahmakaukuranfontakanmenggunakanresolusiyanglebihkecil,dansebaliknya.
Bagaimanacaranya?
Gampang,pertamayangAndaharuslakukanadalahdenganmengetahuimodeorientasiyangsedangdigunakanperangkat,Anda
bisamenggunakanfungsiseperdibawahini:
publicintgetScreenOrientation(){
//Querywhattheorientationcurrentlyreallyis.
if(getResources().getConfiguration().orientation==
Configuration.ORIENTATION_PORTRAIT){
return1;//PortraitMode
}elseif(getResources().getConfiguration().orientation==
Configuration.ORIENTATION_LANDSCAPE){
return2;//Landscapemode
}
return0;
}
Kemudianbagaimana?
KemudianaplikasiAndaharustahuresolusilayaryangsedangdigunakan,Andabisamenggunakancaraseperdibawahini:
Displaydisplay=((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
intwidth=display.getWidth();
intheight=display.getHeight();
SelanjutnyadapatAndakombinasikanmenjadiseperini:
Displaydisplay=((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
intwidth=display.getWidth();
intheight=display.getHeight();
intorientation=getScreenOrientation();
if(width==1024&&height==600){
if(orientation==1){
//TODO
}else{
//TODO
}
}elseif(width==800&&height==400){
if(orientation==1){
//TODO
}else{
//TODO
}
}
Nah,sebelumnyaAndaharusmengetahuilebihduluukuranukuranresolusilayaryangdisediakanolehperangkat.
Bagaimanamudahkan?:LOL:
Adacarayanglebihpraks,simaklangkahnyaberikutini:
PadapanelPackageExplorerpadaIDEEclipseAnda,caricabangres,kemudianklikkanan,pilihmenuNew,kemudianFolder.
Buatfolderbarudengannamavaluesland.Setelahterciptacabangfolderbarudengannamavaluesland,klikkanancabang
tersebutkemudian,pilihmenuNew,klikAndroidXMLFile.
Padadialogyangditampilkan,isikaninteger.xmlpadakotakFile:,kemudianlangsungkliktombolFinishsaja.
Andasudahpunyalebarusekarangdengannamainteger.xml,silakancekpadapanelPackageExplorer.
Sekarangkitaeditkontendariinteger.xml,lihatlayartengahdariIDEEclipseAnda.Lihattabdibawahlayar,terdapat2(dua)buah
tabdengannamaResourcedaninteger.xml,Andakliksajainteger.xml.kemudianlengkapiskripnyaseperberikut:
<?xmlversion="1.0"encoding="utf8"?>
<resources>
<integername="screenType">22</integer>
</resources>
MaksudskripdiatasadalahAndainginmendaarkansebuahvariablereferensidenganpeIntegerdengannamascreenType
danmengisinilaivariabletersebutdengannilai22.
OK,simpankerjaanAnda.KemudianklikkananpadacabangvalueslandpadapanelPackageExplorer,kemudianklikCopy.
Selanjutnya,masihpadapanelPackageExplorer,klikkananpadacabangres,kemudianklikPaste.Pahamkanmaksudlangkah
langkahini?:D
SaatditampilkandialogNameConict,ganteksyangditampilkandenganvaluesport,kemudianklikOK.
NahAndasudahpunyasebuahfolderdansebuahlebarusekarang.Kemudianbukainteger.xmlyangdibawahfoldervalues
port,ubahnilaiuntukvariablescreenTypedari22menjadi21.
Selanjutnya,lakukankembalilangkahsalintempel(copypaste)seperdijelaskansebelumnyasebanyak6(enam)kali,untuk
penamaanfolderdanpengubahannilaivariablescreenTypeikuaturanpadatabelberikutini:
Sekarangimplementasikekodenyanih,mudah,nggalbegini:
intscreenType=getResources().getInteger(R.integer.screenType);
switch(screenType){
case11:
//TODOforSmallScreenPortrait
break;
case12:
//TODOforSmallScreenLandscape
break;
case21:
//TODOforNormalScreenPortrait
break;
case22:
//TODOforNormalScreenLandscape
break;
case31:
//TODOforLargeScreenPortrait
break;
case32:
//TODOforLargeScreenLandscape
break;
case41:
//TODOforExtraLargeScreenPortrait
break;
case42:
//TODOforExtraLargeScreenLandscape
break;
}
Lebihgampangkan?
Lastedited30May2014
Cool,Calm,Condence,andsllNgabanyol....
2Komentar
UrutkanBerdasarkan:Standar(/chat/mengaturmulscreenpadaandroideclipse)|Terbaru(?order=Newest)|KomentarDipilih(?order=Votes)
AndriWijayanto(/prole/andriwijayanto),komentar03June2014
1
Terimakasihom,lumayanbuatnambah2pengetahuan
FrdhkYdr(/prole/ferdhikayudira),komentar16June2014
thxomtutornyasangatbermanfaat..
KATEGORI
SemuaKategori(/category)
TanyaJawab(/cat/tanyajawab1)
ArkeldanInfo(/cat/arkeldaninfo)
Tutorial(/cat/tutorial1)
Event(/cat/event)
Pooling(/cat/pooling)
LowonganPekerjaan(/cat/lowonganpekerjaan)
Link&Download(/cat/linkdownload1)
CARI
Go
TANDA TERPOLULER
windows(/tagged/windows) 20
ROCKER MINGGU INI
dandyraka(/prole/dandyraka) 7
adoycuek(/prole/adoycuek) 2
Username.Dikoding(/prole/usernamedikoding) 2
1161anggotatelahberdiskusi3760kalidalam839topik
2016DibangunOlehMVCForum.com(hp://www.mvcforum.com)|KodeModikasibitbucket
(hps://bitbucket.org/dikoding/mvcforum)