Anda di halaman 1dari 12

Tutorial(/cat/tutorial1) / MengaturMulScreenpadaAndroid(Eclipse)

MENGATUR MULTISCREEN PADA ANDROID (ECLIPSE)


1

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....

programming(/tagged/programming) eclipse(/tagged/eclipse) android(/tagged/android)

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

.net(/tagged/net) 464 vb.net(/tagged/vbnet) 366 winform(/tagged/winform) 187 c#(/tagged/c#) 140

database(/tagged/database) 109 mysql(/tagged/mysql) 69 control(/tagged/control) 67

ado.net(/tagged/adonet) 63 asp.net(/tagged/aspnet) 60 sqlserver(/tagged/sqlserver) 58

visualstudio(/tagged/visualstudio) 57 crystalreport(/tagged/crystalreport) 53 sql(/tagged/sql) 53

datagridview(/tagged/datagridview) 35 nuget(/tagged/nuget) 30 mvc(/tagged/mvc) 27

javascript(/tagged/javascript) 26 entyframework(/tagged/entyframework) 23 tsql(/tagged/tsql) 23

windows(/tagged/windows) 20
ROCKER MINGGU INI

dandyraka(/prole/dandyraka) 7

adoycuek(/prole/adoycuek) 2

Username.Dikoding(/prole/usernamedikoding) 2

1161anggotatelahberdiskusi3760kalidalam839topik

Anggotaterbaru: jtr007(/prole/jtr007) ohelijopay(/prole/ohelijopay) iaxanenevaa(/prole/iaxanenevaa) uusirarudap


(/prole/uusirarudap) izyozibek(/prole/izyozibek) Anitaselvianaluna(/prole/anitaselvianaluna) khairyanwar
(/prole/khairyanwar) andri(/prole/andri8) RizalMuaqin(/prole/rizalmuaqin) BotonioJAR(/prole/botoniojar)

2016DibangunOlehMVCForum.com(hp://www.mvcforum.com)|KodeModikasibitbucket
(hps://bitbucket.org/dikoding/mvcforum)

Anda mungkin juga menyukai