_ 2015幎12æ30æ¥ã®@ mashaly100200ãã17ïŒ24_
ã¢ãã¡ãŒã·ã§ã³ãšã³ã³ããŒãã³ãã«ãµããŒãrtlãè¿œå ããŠãã ãã
_å ã®åé¡ããã³ããŒïŒdriftyco / ionic2ïŒ832_
_ 2015幎12æ30æ¥ã®@adamdbradleyãã17ïŒ38_
ã¯ããããã¯å®äºããããã®ããŒããããã«ãããŸããçµéšè±å¯ãªRTLéçºè
ããããå€ãã®ãã£ãŒãããã¯ãåŸãŠãã©ããæ¹åããå¿
èŠãããããææã§ããããã«ããããšèããŠããŸãã RTLã§ããŸãæ©èœããªãionic2ã®ç¹å®ã®éšåã®ãã§ãã¯ãªã¹ããæäŸã§ããŸããã ç§ãã¡ã®ç®æšã¯ãè¿œå ã®RTL cssãã¡ã€ã«ãæäŸããhtmlèŠçŽ ã«dir="rtl"
ãã©ããã«å¿ããŠãããã«å¿ããŠJSã調æŽããããšã§ãã ããããšã
_ 2015幎12æ30æ¥ã®@ mashaly100200ãã18ïŒ39_
ionic2ããŒã ãRTLããµããŒãããã®ãæ¯æŽã§ããããšãå¬ããæããŸã
rtlæ¹åã䜿çšãããšãã©ã®ãããªæªåœ±é¿ãããããç°¡åã«ç¢ºèªã§ããŸãã
ãã®attrãhtmlã¿ã°ã«è¿œå ããŠããã¹ãŠã®Webãµã€ããrtlã«å€æã§ããŸãã
ãŸãã¯
ãã®ãããªã¹ã¿ã€ã«ãšããŠããã£ã§äœ¿çšã§ããŸã
style = " directionïŒrtl "
ã€ãªã³ããŒã ãrtlããµããŒãããäºå®ã®å Žå
ã¢ããªã±ãŒã·ã§ã³ã¯èµ·åæã®æ¹åãç¥ãå¿
èŠããããããã¢ããªæ§æã«ã¿ãŒã²ããã®æ¹åãè¿œå ããå¿
èŠããããŸã
ãéçºè
ãå®è¡æã«ã¢ããªã®èšèªãrtlèšèªã«å€æŽããå¿
èŠãããå Žåã¯ããã¹ãŠã®ã¢ããªãæŽæ°ããå¿
èŠããããŸãïŒãã€ãã£ãã®AndroidãWindows Phoneã¢ããªãªã©ãiOSã¯ã¢ããªã±ãŒã·ã§ã³ãåèµ·åããŠæ¹åãå€æŽããå¿
èŠããããŸãïŒ
ä»ãç§ãionic2 htmlæ¹åãå€æŽããããšãããšãrtlæ¹åããµããŒããããã®ãããããšãããããŸãããcozpurehtml konwrtlæ¹åã®åŠçæ¹æ³
ããããrtlã®æ¹åæ§ããµããŒãããå¿
èŠããããã®ããããŸã
ãŸãã¯ã¢ãã¡ãŒã·ã§ã³ã§ã
ã€ãªã³ããŒã ãcssãŸãã¯javascriptã³ãŒãã§ã¢ãã¡ãŒã·ã§ã³ãå®è¡ãããã©ããã¯ããããŸãããã©ã¡ãã®å Žåãããã¹ãŠã®ã¢ãã¡ãŒã·ã§ã³é女ã¯rtlãŸãã¯ltrã䜿çšããŠãå¥ã®ã¢ãã¡ãŒã·ã§ã³æ¹åãè¿œå ããå¿
èŠããããŸããvarialbeãå€æŽããã ãã§ãªããå¥ã®1ã€ã®cozãè¿œå ããå¿
èŠããããŸãã
ãã®çŽ æŽãããã©ã€ãã©ãªãæ¯æŽããããã«ãã€ãªã³ããŒã ã«ã§ããéãæ¯æŽãæäŸããããšæããŸãã
ç§ã®è±èªãäžæã§ã¯ãªãããšã¯ç¥ã£ãŠããŸãããç§ã®èšèãç解ããŠããã ããã°å¹žãã§ã:)
_ 2015幎12æ30æ¥ã®@ mashaly100200ãã18ïŒ44_
plzã¯ãã®ç®æšãå€æŽããŸããç§ãã¡ã®ç®æšã¯è¿œå ã®RTLcssãã¡ã€ã«ãæäŸããããšã§ãã
ãŠãŒã¶ãŒã®éžæã«åºã¥ããŠãåãã¢ããªã±ãŒã·ã§ã³ã§2ã€ã®æ¹åãå¿
èŠã«ãªããããå®è¡æã«å®è¡ãããå ŽåããããŸãã
_ 2015幎12æ30æ¥ã®@adamdbradleyãã18ïŒ51_
ãŠãŒã¶ãŒã®éžæã«åºã¥ããŠãåãã¢ããªã±ãŒã·ã§ã³ã§2ã€ã®æ¹åãå¿ èŠã§ãããã€ããå®è¡æã«ãªããŸãã
Ionicèªäœã¯ã <html dir="rtl">
ã«å¿ããŠããã®cssãã¡ã€ã«ãåçã«è¿œå ã§ããããã«ãªããŸãã
_ 2015幎12æ30æ¥ã®@ mashaly100200ãã19ïŒ23_
onic-conference-appã®äŸã®æ¹åãå€ããããšãããããã®ç»å
ãã®äŸã§ã€ãªã³ããŒã ãrtlæ¹åãã«ããŒããŠããå ŽåãrtlãµããŒãã®90ïŒ
以äžã«ãªããšæããŸã
_ 2015幎12æ30æ¥ã®@ mashaly100200ãã19ïŒ26_
_ 2015幎12æ30æ¥ã®@ mashaly100200ãã19ïŒ27_
_ 2015幎12æ30æ¥ã®@ mashaly100200ãã20ïŒ21_
æ»ããã¿ã³ã¢ã€ã³ã³ã®ããã«å³ãå·Šãæ»ãããŸãã¯é²ãç¢å°ã®ã¢ã€ã³ã³ã«ã¯ããã®ã¹ã¿ã€ã«ãå¿
èŠã§ãã
{{
-webkit-transformïŒrotateïŒ180degïŒ;
-moz-transformïŒrotateïŒ180degïŒ;
-o-transformïŒrotateïŒ180degïŒ;
-ms-transformïŒrotateïŒ180degïŒ;
å€æïŒrotateïŒ180degïŒ;
}
_ 2015幎12æ31æ¥ã®@adamdbradleyãã4ïŒ27_
ãããã£ãŠã @ brandyscarneyã¯ããªããžããªå ã«ãã¹ãŠã®RTL scssãã¡ã€ã«ãäœæããããããåããæºåããããšããè¯ãèããæã£ãŠããŸããã
å¥ã®rtlcssãåçã«è¿œå ãã代ããã«ãåã¢ããªã®sasså€æ°ã§æŽæ°ã§ããããã©ã«ãã®$rtl-support: false
sasså€æ°ã䜿çšã§ãããšèããŠããŸããã ãããã£ãŠãã»ãšãã©ã®å Žåãè¿œå ã®rtl cssã¯ã¢ããªã«è¿œå ãããŸããããrtl cssãå¿
èŠãªå Žåã¯ã $rtl-support: true
èšå®ã§ããŸãã
次ã«ãæ°ããrtl scssãã¡ã€ã«å
ã§ãcssã<strong i="12">@if</strong> $rtl-support
ã§ã©ããã§ããŸãã ãã®ããã«ããŠãcssãã¡ã€ã«ãåé¢ããŠç·šéããããããrtlãµããŒããããã«æäŸã§ããŸãã ããã¯@ mashaly100200ã§åäœãããšæããŸããïŒ
_ 2015幎12æ31æ¥ã®@ mashaly100200ãã11ïŒ48_
ã¯ããrtlãåçã«ããŒãããããšããå§ãããŸãã
ã¢ãã¡ãŒã·ã§ã³ããå§ããŸããããããã¯ãã£ãšåªåãå¿ èŠãããããŸãã
åã®3ã€ã®è³ªåã«å¯Ÿããããªãã®çãããã¯ããã®å Žåãç§ã¯èªåã®èªå·±cozã¢ãã¡ãŒã·ã§ã³ãããã¯ãäœã®åªåãå¿ èŠãšãããå®å šãªãµããŒãrtlæ¹åãšã€ãªã³ããŒã ãéåžžã«å€§ããªæè¬ã«å€ããããšãç¥çŠã§ããŸã:)
_ 2016幎1æ1æ¥ã®@adamdbradleyãã1ïŒ53_
ããã¯ãiOSã®é·ç§»ã¢ãã¡ãŒã·ã§ã³ã§ãïŒ https ïŒ
ããã§RTLã®ããžãã¯ãè¿œå ããå¿
èŠãããã®ãââããããšã代ããã«æ°ããã¢ãã¡ãŒã·ã§ã³ãè¿œå ããå¿
èŠãããã®ãââãããããŸããã ãã ããç¬èªã®ãã©ã³ãžã·ã§ã³ãè¿œå ããŠã pageTransition
ããªãŒããŒã©ã€ãããããšãã§ããŸãïŒ https ïŒ
_ 2016幎1æ1æ¥ã®@ mashaly100200ãã21ïŒ55_
ããã«ã¡ã¯@adamdbradley ãã¡ãªãŒã¯ãªã¹ãã¹
documen.dirã«äŸåããããã©ã«ãã®ã¢ãã¡ãŒã·ã§ã³ã¯ã©ã¹ã®åäœãéã«ããã«ã¹ã¿ã ã¢ãã¡ãŒã·ã§ã³ã¯ã©ã¹ãçµäºããŸãã
https://gist.github.com/mashaly100200/bf713f2b558285322155
ç§ã¯ããããã¹ãããŸããããããŠç§ã¯ããã«å®éã®ãããžã§ã¯ãã§ããããã¹ãããŸãïŒinshaa allahïŒ
ãŸããå
ã«æ»ãå¿
èŠã®ããcssã¯ã©ã¹ã®ããã€ããçµäºããŸãã
https://gist.github.com/mashaly100200/dc23529e570034b0dfb9
ããã«ã¯ã©ã¹ãéã«ããå¿ èŠãããå Žåã¯ãå®éã®ãããžã§ã¯ãã1ã€ã2ã€å®äºãããŸã§ããã®ãã¡ã€ã«ã«è¿œå ããŸãã
ãŸããrtlã¯ã¢ããªã³ã³ã¹ãã©ã¯ã¿ãŒã§ãããã®æ§æãå¿
èŠãšããŸã
https://gist.github.com/mashaly100200/692160b036422d7b018c
ãã¹ãŠã®æ§æã1ãæã«è¿œå ããããšããŠããã®ã§ãã¢ããªã®è«è² æ¥è ã«ãã¹ãŠã®ãã®ãè¿œå ã§ããããšãããããŸãã
ãããã®ããšãionic2ãrtlãå®å šã«ãµããŒãããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸã
èšæ£ãææ¡ãããã°ãé æ ®ãªãè¿œå ããŠãã ããã
_ 2016幎1æ2æ¥ã®@adamdbradleyãã3ïŒ2_
ãã£ãããã®ã§ãRTLãã©ã³ãžã·ã§ã³ã¯LTRãã©ã³ãžã·ã§ã³ã«ããªãè¿ãããã«èŠããŸããããã«ããããã©ã³ãžã·ã§ã³ã®ãªãã·ã§ã³ã«æž¡ãããã®ã¯isRTL
ãªãã·ã§ã³ã§ããå¿
èŠãããããã©ã³ãžã·ã§ã³ã¯1ã€ãããããŸããã ionicãæŽæ°ããŠãã¢ããªå
šäœã§åç
§ã§ããå
±éã®isRTL
ããããã£ãèšå®ã§ããŸãïŒWebã¯ãŒã«ãŒã®å Žåãionicã®ããžãã¯å
ã§document
èªã¿åããè¡ããªãããã«ããŸãïŒã
_ 2016幎1æ2æ¥ã®@adamdbradleyãã3ïŒ36_
isRTL()
ãPlatform
è¿œå ïŒ https ïŒ
_ 2016幎1æ2æ¥ã®@adamdbradleyãã3ïŒ58_
ãã¹ãŠã®é·ç§»ã¯ä»æž¡ãããisRTL
å
ã®opts
ïŒ https://github.com/driftyco/ionic2/blob/da986a5fb0ee2c7660ad4494731b5fe98b393812/ionic/components/nav/nav-controller.ts#L798
ããã§ãios-transitionã¯RTLé·ç§»ã®ããžãã¯ãè¿œå ã§ããŸãã
_ 2016幎1æ2æ¥ã®@adamdbradleyãã4ïŒ38_
ionic.cssïŒmdãšios cssã®äž¡æ¹ãå«ãïŒããã³ionic.ios.cssïŒiosã®ã¿ïŒå
ã§æ£ãããã«ããããããã«ãRTLcssãå«ããæ¹æ³ãè¿œå ããŸããã åããã¡ã€ã«å
ã«RTLãšLTRcssã®äž¡æ¹ãå«ãããã¢ããªã¯ãsasså€æ°ã«$include-rtl: true
ãèšå®ã§ããŸããããããªããšãããã©ã«ãã§LTRcssã®ã¿ãå«ãŸããããã«ãªããŸãã https://github.com/driftyco/ionic2/blob/f38ad4a7d2d8c527a3bc64fd8569b11eb659c290/ionic/components/item/item.ios.scss#L231
_ 2016幎1æ6æ¥ã®@MatanYedãã18ïŒ14_
ç¥ã£ãŠããã¹ãããšïŒiOSã®RTLã¢ããªã¯éšåçã«LTRã§ãïŒ
ãã©ã€ããªããã²ãŒã·ã§ã³ããŒãã¿ã³åŽãå·Šããµã€ãã¡ãã¥ãŒãå·Šããã©ã³ãžã·ã§ã³ã¢ãã¡ãŒã·ã§ã³ãå·Šããå³ãžã
_ 2016幎1æ7æ¥ã®@adamdbradleyãã16ïŒ41_
èšèªãšæ¹åãååŸããã³èšå®ããããã®æ°ããã¡ãœããããã©ãããã©ãŒã ã«è¿œå ããŸããïŒ https ïŒ
_ 2016幎1æ12æ¥ã®@ mashaly100200ãã21ïŒ2_
æŽæ°
誰ã«ãšã£ãŠããã®ãããã¯ãæµããŸã
亀æ
config.setïŒ 'backButtonIcon'ã 'ion-ios-arrow-forward'ïŒ;
ãš
config.setïŒ 'backButtonIcon'ã 'arrow-forward'ïŒ;
ãŸããã¢ãã¡ãŒã·ã§ã³ã¯ã©ã¹ãæŽæ°ããŸã
https://gist.github.com/mashaly100200/bf713f2b558285322155
ç§ã¯åœç€Ÿã®moodleã¢ãã€ã«ã¢ããªã§ãã®åé¡ã«åãçµãã§ãããè±èªãšã¢ã©ãã¢èªãåæã«ãµããŒãããã¢ããªãå¿
èŠãªã®ã§ããã¹ãŠã®æ¹åãRTLã«åãæ¿ããåé¡ã§ã¯ãããŸããããå®è¡ããå¿
èŠããããŸãæéã æåã¯ng-ifã䜿çšããŠããã€ãã®èª¿æŽãè¡ããã¢ããªã®ã«ãŒãã¹ã³ãŒããä»ããŠãããŒããã£ã¹ããè¡ããŸãããããŠãŒã¶ãŒãèšèªãå€æŽãããã³ã«ã¢ããªããªããŒãããå¿
èŠãããããã®æ¹æ³ã§ã¯ãŸã£ããæ©èœããŸããã
3æ¥åãç§ã¯IonicãšæŠãå§ããŸããïŒããã¯æ®éçãªåé¡ã«ãªããŸã:)ïŒãmoodleããŒã ã¯çŸåšåé¡ãéããŠããŸããã圌ããããããèŠããšã¯æããªãã
ç§ã¯Ionic2ã䜿çšããŠããŸãããããã®åé¡ã§ã®ç§ã®ã¢ãããŒãã¯éåžžã«åçŽã§ããã€ãªã³ãã£ã¬ã¯ãã£ãã®ã€ãªã³åŽå±æ§ïŒRTLåé¡ã§æãæžå¿µããããã£ã¬ã¯ãã£ãã«ã¯ãã®å±æ§ããããšæããŸãïŒã䜿çšãããšãèŠãç®ãããç°¡åã«è§£æ±ºã§ããŸãã
ãã£ã¬ã¯ãã£ãããªãŒããŒã©ã€ãããŠsideå±æ§ã«ãã€ã³ãã£ã³ã°ãè¿œå ããããšããŠããŸããããã¯ãapp.scssã®cssã䜿çšããangular-translateãšçŸåšã®å©ããåããŠãæ®ãã®ã³ã³ãã³ãã«ããã€ãã®é
眮ãè¿œå ããªãããã§ãã moodleã¢ããªã®å®è£
ãã¯ã©ã¹ã®åèªã®å·ŠãæŽæ°ããèšèªãå€ãããã³ã«å·Šå³ã«æŽæ°ããŸãã
ç§ã¯ãããæ©èœããããšãæãã§ããçŸæç¹ã§ãŸã ãããå®è£
ããŠããŸãïŒãšã«ããæ©èœããå¿
èŠããããŸãïŒã
index.htmlã«dir = "rtl"ãè¿œå ãããšãèŠçŽ ã®ã¬ã³ããªã³ã°ãå³ããéå§ãããŸããããã¯ãã»ã°ã¡ã³ããã¿ã³ãªã©ã®äžéšã®èŠçŽ ã®å€èŠ³ã«åœ±é¿ããŸãã
ãããä¿®æ£ããããã«ç§ã¯å€æŽããŸãã
.segment-button:first-of-type {
border-radius: 4px 0 4px 0;
margin-left: 0; }
.segment-button:not(:first-of-type) {
border-left-width: 0; }
.segment-button:last-of-type {
border-left-width: 0;
border-radius: 4px 0 0 4px;
margin-left: 0; }
ã«
.segment-button:first-of-type {
border-radius: 0 4px 4px 0;
margin-right: 0; }
.segment-button:not(:first-of-type) {
border-right-width: 0; }
.segment-button:last-of-type {
border-right-width: 0;
border-radius: 4px 0 0 4px;
margin-right: 0; }
Navã¢ãã¡ãŒã·ã§ã³ã¯ãRTLã¢ããªã®å Žåã¯å·ŠãããLTRã¢ããªã®å Žåã¯å³ãããã¢ããªã®æ¹åãšå察ã«ããå¿
èŠããããŸãã ãããä¿®æ£ããããã«ç§ã¯ãããããŸããïŒ
ããã£ãvar OFF_RIGHT = '99.5%';
ã«var OFF_RIGHT = '-99.5%';
ãããŠvar OFF_LEFT = '-33%';
ã«var OFF_LEFT = '33%';
ãããŠ
if (backDirection) {
// leaving content, back direction
leavingContent
.before.clearStyles([OPACITY])
.fromTo(TRANSLATEX, CENTER, '100%');
}
ã«
if (backDirection) {
// leaving content, back direction
leavingContent
.before.clearStyles([OPACITY])
.fromTo(TRANSLATEX, CENTER, '-100%');
}
ionic-angular / transitions / transition-iosã§
ããã²ãŒã·ã§ã³ããŒã®backèŠçŽ ã«ã€ããŠã¯ãããã¹ãã®åã«ã¢ã€ã³ã³ãé 眮ããã¢ã€ã³ã³ãforwardã«å€æŽããŸããã
@App({
config: {
backButtonText: 'اÙرجÙع', // this is arabic or whatever
backButtonIcon:'ios-arrow-forward'
// | ion-ios-arrow-back | ion-md-arrow-back
} // http://ionicframework.com/docs/v2/api/config/Config/
})
æ€çŽ¢ããŒå
¥åã®ãã¬ãŒã¹ãã«ããŒãä¿®æ£ã§ããŸã
ãããã®å€æŽãè¡ãããšã«ãã£ãŠïŒãã¹ãŠãå·Šããå³ã«å€æŽããŸãïŒ
.searchbar-search-icon {
width: 14px;
height: 14px;
background-image: url("data:image/svg+xml;charset=utf-8,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2013%2013'><path%20fill='rgba(0,%200,%200,%200.5)'%20d='M5,1c2.2,0,4,1.8,4,4S7.2,9,5,9S1,7.2,1,5S2.8,1,5,1%20M5,0C2.2,0,0,2.2,0,5s2.2,5,5,5s5-2.2,5-5S7.8,0,5,0%20L5,0z'/><line%20stroke='rgba(0,%200,%200,%200.5)'%20stroke-miterlimit='10'%20x1='12.6'%20y1='12.6'%20x2='8.2'%20y2='8.2'/></svg>");
background-size: 13px;
background-repeat: no-repeat;
position: absolute;
left: 9px;
top: 9px;
margin-left: calc(50% - 60px);
-webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1);
transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); }
.searchbar-input {
height: 3rem;
line-height: 3rem;
padding: 0 28px;
font-size: 1.4rem;
font-weight: 400;
border-radius: 5px;
color: #000;
background-color: #FFFFFF;
padding-left: calc(50% - 28px);
-webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1);
transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); }
.searchbar-input::-moz-placeholder {
color: rgba(0, 0, 0, 0.5); }
.searchbar-input:-ms-input-placeholder {
color: rgba(0, 0, 0, 0.5); }
.searchbar-input::-webkit-input-placeholder {
color: rgba(0, 0, 0, 0.5);
text-indent: 0; }
ã«
.searchbar-search-icon {
width: 14px;
height: 14px;
background-image: url("data:image/svg+xml;charset=utf-8,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2013%2013'><path%20fill='rgba(0,%200,%200,%200.5)'%20d='M5,1c2.2,0,4,1.8,4,4S7.2,9,5,9S1,7.2,1,5S2.8,1,5,1%20M5,0C2.2,0,0,2.2,0,5s2.2,5,5,5s5-2.2,5-5S7.8,0,5,0%20L5,0z'/><line%20stroke='rgba(0,%200,%200,%200.5)'%20stroke-miterlimit='10'%20x1='12.6'%20y1='12.6'%20x2='8.2'%20y2='8.2'/></svg>");
background-size: 13px;
background-repeat: no-repeat;
position: absolute;
right: 9px;
top: 9px;
margin-right: calc(50% - 60px);
-webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1);
transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); }
.searchbar-input {
height: 3rem;
line-height: 3rem;
padding: 0 28px;
font-size: 1.4rem;
font-weight: 400;
border-radius: 5px;
color: #000;
background-color: #FFFFFF;
padding-right: calc(50% - 28px);
-webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1);
transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); }
.searchbar-input::-moz-placeholder {
color: rgba(0, 0, 0, 0.5); }
.searchbar-input:-ms-input-placeholder {
color: rgba(0, 0, 0, 0.5); }
.searchbar-input::-webkit-input-placeholder {
color: rgba(0, 0, 0, 0.5);
text-indent: 0; }
ãã¡ã€ã«å
ïŒionic.bundle.js
ã³ãŒããå€æŽããŸãã
setTranslateX: ionic.animationFrameThrottle(function(amount) {
var xTransform = content.offsetX + amount;
$element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(' + xTransform + 'px,0,0)';
次ã®ããã«å€æŽããŸãã
setTranslateX: ionic.animationFrameThrottle(function(amount) {
var xTransform = content.offsetX + amount;
if (content.offsetX > 0)
{
xTransform = amount;
}
$element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(' + xTransform + 'px,0,0)';
ç§ã¯ãããè¯ã解決çã§ã¯ãªãããšãç¥ã£ãŠããŸãããç§ã¯ããªããã°ãªããŸããã§ããã
ãããŠç§ã¯ãããã®cssãè¿œå ããŸããïŒ
a , h1 , h2 , span , div{
text-align: right;
}
.title.title-left.header-item{
left : 0 !important;
}
label.item,
ion-nav-buttons,
ion-header-bar{
direction: rtl;
}
.item-checkbox {
padding-right: 60px;
}
.ion-android-arrow-back:before {
content: "ï"; }
.ion-android-arrow-forward:before {
content: "ï"; }
å³ã®ã¡ãã¥ãŒãäœããŸããïŒ
<ion-side-menus enable-menu-with-back-views="false" >
<ion-side-menu side="right" expose-aside-when="large">
<ion-header-bar class="bar-positive">
<h1 class="title">Menu</h1>
</ion-header-bar>
<ion-content>
<ion-list>
<ion-item menu-close ng-click="login()">
Login
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
<ion-side-menu-content>
<ion-nav-bar class="bar-positive">
<ion-nav-back-button>
</ion-nav-back-button>
<ion-nav-buttons side="right">
<button class="button button-icon button-clear ion-navicon" menu-toggle="right"></button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="menuContent"></ion-nav-view>
</ion-side-menu-content>
</ion-side-menus>
ãããããã¯ç§ãã¡ãåŸ ã£ãŠãããã®ã§ãããããŠããã¯çŽ æŽãããã§ããã
ã€ãªã³ããŒã ã«æè¬
ã©ããïŒ+1ïŒ
ç·šéïŒããã¯ãã§ã«ä¿®æ£ãããŠããããšãæ°ã«ããªãã§ãã ãã
ion-item-sliding
ã¯ã次ã®ãããªrtlããŒãžã§ã³ã®swipe-left
ãªãã·ã§ã³ã§ããå¿
èŠããããŸãã
<ion-item-sliding swipe-left>
<ion-item>
<ion-avatar item-right>
<img src="img/slimer.png">
</ion-avatar>
<h2>Slimer</h2>
</ion-item>
<ion-item-options>
<button primary>
<ion-icon name="text"></ion-icon>
Text
</button>
<button secondary>
<ion-icon name="call"></ion-icon>
Call
</button>
</ion-item-options>
</ion-item-sliding>
ããã«ã¡ã¯ã
ç§ã¯ionic2.0ã«åãçµãã§ããŸãã å·Šã®ããã²ãŒã·ã§ã³å¹
ãæžããã«ã¯ã©ãããã°ããã§ããã
v2ã§rtlã䜿çšããŠãžã§ã¹ãã£ãã©ã®ããã«åŠçããŠããŸããïŒ
ionicv1ã®iOSãã©ãããã©ãŒã çšã«ä¿®æ£ããå¿ èŠããããŸãã iPhoneãRTLã§å³ã«ã¹ã¯ã€ãããæ¹æ³ãããããªãã
rtlã§ãµã€ãã¡ãã¥ãŒã®æ¹åãšã¹ã¯ã€ãæ¹åãå€æŽããããšãã§ããŸããã
https://github.com/msoni11/ionic/releases/tag/v1.1.1-rtl
https://github.com/msoni11/ionic-bower/releases/tag/v1.1.1-rtl
RTLæ©èœãå
¬éããããšãã¢ããªã®å®è¡åŸã«å€æŽã§ããããã«ãªããŸãïŒã€ãŸããltrããrtlãžã®ã©ã€ãå€æŽã§ããïŒ
ã¢ããªã®èšèªããŒãžãå€æŽããããã€ãã£ãã¢ããªãšåãã§ãã
@MatanYed ïŒã¯ãããããªããŸãã ããã¯å®éã«å¿ èŠã§ãã CSSã䜿çšããŠæ¹åãå€æŽããããã¹ããæããã ãã§ããã€ããªããã¢ããªã§ã¯éåžžã«ç°¡åã§ãã
@mhartington ïŒRTLæ¹åã§ãããŒãã£ã³ã°ã€ãªã³ã©ãã«ã䜿çšããå Žåãå
¥åãã£ãŒã«ãã«ããã¹ããå
¥åãããšããããŒãã£ã³ã°ã©ãã«ã¯å³ã«é
眮ãããŸããããäžå€®ã®ã©ããã«é
眮ãããŸãã
ããã«å¯Ÿãã解決çã¯ãããŸããïŒ
<ion-list dir="rtl"> <ion-item> <ion-label floating >{{ usrTitle }}</ion-label> <ion-input type="text" [(ngModel)]="usrValue"></ion-input> </ion-item> <ion-item> <ion-label floating >{{ pswTitle }}</ion-label> <ion-input type="password" [(ngModel)]="pswValue"></ion-input> </ion-item></ion-list>
+1
@royipressburger ïŒ_regards "+1" _ïŒ-ãµããŒããŸãã¯ãã©ããŒãããå Žåã¯ãã芪æãç«ãŠããçµµæåãšã賌èªããã¿ã³ããããŸãã
@ mhartington ã @ msoni11 ïŒäœãçãã¯ãããŸããïŒ ç§ã¯æ¬åœã«ããã«åºå·ããŠããŸãã
@devoraf ïŒäœ¿çšããŠããã€ãªã³ã®ããŒãžã§ã³ã
@ msoni11 ïŒã€ãªã³v2ã ãã®ç¹å®ã®ãããŒãã£ã³ã°åäœã¯ããªãã«ãšã£ãŠããŸãæ©èœããŸãããïŒ
@devoraf ïŒç§ã¯ãŸã v2ãè©ŠããŠããŸããã ç§ã®ã¢ããªã«ã¯v1ã§èšè¿°ãããã³ãŒããããããããã®ã§ãRTLãèš±å¯ããããã«v1ããããã³ã°ããŸããã
@ msoni11 ïŒãããŒãã£ã³ã°ã©ãã«ã®é 眮/æ¹åã«åœ±é¿ãäžããå¯èœæ§ã®ãããµã³ãã«CSSãæ·»ä»ããŠããã ããŸããïŒ
+1
@devoraf ïŒç³ãèš³ãããŸãããããããŒãã£ã³ã°ã©ãã«ã¯äœ¿çšããŠããŸããã ãããã®ãã©ãŒã èŠçŽ ã䜿çšããŠãRTLçšã«æ£ããé 眮ããŸããã
ãããè¿°ã¹ãããŠãããã©ããã¯ããããŸãããã dir="rtl"
ã<html>
ã¿ã°ã«è¿œå ããããšãããŒãžãããã²ãŒãããããšããæ··ä¹±ããŸãã Ionic 2ã§ã¯ã䜿çšããå€ãã®ã³ã³ããŒãã³ããããããµããŒãããŠããªãã£ããããIonic 1ã«æ»ãããšã«ãªããŸãããçŸåšãã³ã³ããŒãã³ãã«ã€ããŠäœãã§ããã®ã§ãåé¡ã«ãªãããšã¯ãããŸããããããã²ãŒã·ã§ã³ãæ··ä¹±ããŸããã¢ãããããšãçœãç»é¢ãŸãã¯é
延ããŒãžã衚瀺ãããŸãã dir="rtl"
ãåé€ãããšããã¹ãŠãå®å
šã«æ©èœããŸãã
ç§ã¯äœãééã£ãããšãããŠããŸããããããšã$state.go()
å®éã«ã¯rtl
ã§ã¯ãŸã£ããæ©èœããŸãããïŒ
@loolooii ïŒRTLã§ionic 1ãæ©èœãããã«ã¯ãcssãè¿œå ããå¿ èŠããããŸã
.rtl, html[dir=rtl] {
direction: rtl;
text-align: right;
}
/** To fix empty page issue in rtl. **/
.rtl .click-block-hide {
<strong i="7">@include</strong> translate3d(9999px, 0, 0);
}
ãã®ionicrtlããŒãžã§ã³https://github.com/msoni11/ionic/releases/tag/v1.1.1-rtlã䜿çšãããšãRTLã§å³ã«ã¹ã¯ã€ãã§ããŸãã
@ msoni11ããããšãïŒ ããããã®ã
@loolooii ïŒ:)ç§ã¯ãå®éã®å®è£ ãionicã¢ããªã§ã©ã®ããã«æ©èœãããã«ã€ããŠãèšåããå°ããªæçš¿ãæžããŸããã ãã¡ãããã§ãã¯
RTLã®åé¡ã«é¢ããæŽæ°ã¯ãããŸããïŒ
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ ããªãã€ãªã³ããŒã ã¯ããŒã¿12ãããããåé€ããã®ã§ããïŒ
éçºè ã®ãã£ãŒãããã¯ãããã¹ãŠã®RTLã®åé¡ããªã¹ãã¢ããããã°ããããã1ã€ãã€è²¢ç®ããŠä¿®æ£ã§ããæçµçã«ã¯å®å šãªRTLãµããŒããåŸããããšæããŸãã
RTLã¯æ¬åœã«éèŠã§ãïŒ æéæ ã¯ãããŸããïŒ
@AmitMY ionic2ã«ã€ããŠã¯ãã
@ msoni11ããããšãã ç§ã¯Ionic2ã«ã€ããŠè©±ããŠããã
@AmitMY @ msoni11 IONIC 2ã䜿çšããäžèŠæš¡ãããžã§ã¯ãã§éããªãäœæ¥ããRTLã®åé¡ãããã°ããããã¹ãŠèŠã€ããŸãã
@ Khalid-NowafïŒåãã§ãæäŒããããŠããã ããŸãã
@ msoni11ããããšãïŒ ç§ã¯ããªããã¡ãæçš¿ãç¶ããŸãã
RTLã¯ããŒããããRC12ã«ååšããŠããŸãããããªãããããããã®ãããããŸããã
ããã«ã¡ã¯ããã®é·ãã¹ã¬ããã«ã€ãªã³ã¹ã©ã€ãã衚瀺ãããŸãããïŒ
ããããµããŒããå¿
èŠã§ãã
ããã«ãªã¯ãšã¹ããæçš¿ããŸãã
http://idangero.us/swiper/forum/#!/generalïŒsupport-for-pagination-righ
ãŸã ã³ãŒãã£ã³ã°ãããŠããªãç§ã®åé¿çã¯ãã¹ã©ã€ããéæ¹åã«å ¥åããéå§æã«æåŸã®ã¹ã©ã€ãã«ç§»åããããšã§ãã åçãæåã®ã¹ã©ã€ãã«éãããšãã«ãåçã®çµäºãæ€åºããããã®é©åãªã€ãã³ãããããšæããŸã:)
ç§ã¯å°é家ã§ã¯ãããŸãããã泚æãå¿
èŠã§ãã
RTLãµããŒãããã¢ããªã¬ãã«ã ãã§ãªããã³ã³ããŒãã³ãã¬ãã«ã§èšç»ãããŠããããšãé¡ã£ãŠããŸãã
ã¿ã/ãã¿ã³ã©ãã«ã®ããã«ãã¢ããªã¯ã»ãšãã©è±èªã§ãå®éã®æ¶èåã¯ã¢ã©ãã¢èªã§è¡šç€ºãããå ŽåããããŸãã ããšãã°ãããã¹ããšã°ã©ãã£ãã¯ã¹ã®RTLã®åãã®ããã«ãRTLã«å¿ èŠãªããŸãã¯æ§æå¯èœãªã¹ã©ã€ããŒ/ããŒãžã£ãŒã®åäœã®ããã«ã
ããïŒ ç§ã¯ãã§ã«ãã®åä»ãªã¹ã¯ããŒã«ããŒãåãé€ããŸããã
ãŸããããããç°ãªãèšèªã®2ã€ã®ãªã¹ããããããŒãžããããããããŸããã
<ion-list flow=RTL>....
<ion-list flow=LTR>....
rtlã¢ãŒãã®å Žåãç¯å²ãšãã®ã©ãã«ã®éã«ããŒãžã³ããªããããäž¡åŽã®ã¢ã€ã³ã³ãéšåçã«è¡šç€ºãããŸããã
ãã®äžç°ãšããŠããã®åé¡ã調æ»ããå¿ èŠããããŸãhttps://github.com/driftyco/ionic/issues/10685
ã¿ãªãããRTLãµããŒãã®è¿œè·¡ããã®åé¡ã«ç§»ããŸã
https://github.com/driftyco/ionic/issues/11211
ãã©ã³ããŒã¯ãããå®çŸããããã«ããã€ãã®äœæ¥ãè¡ãäºå®ãªã®ã§ãããã«èŠãããããšãæåŸ ããŠãã ããã
ããã«ã¯ããããã®ã¡ãã»ãŒãžããããŸãããè±èªãèŠæãªã®ã§è§£æ±ºçãèŠã€ãããŸããã§ããã
誰ããã¡ãã¥ãŒã®æ¹åã®è§£æ±ºçã«ç§ãå°ãããšãã§ããŸããïŒãããå·Šã«å€ãããšã¢ãã¡ãŒã·ã§ã³ãå·Šããå³ã«éããå·Šããå³ã«ãã¹ã¯ã€ãããããã§ãã
å©ããŠãã ããã
@joesleimançŸæç¹ã§ã¯è§£æ±ºçã¯ãããŸããã ä¿®æ£ã¯https://github.com/driftyco/ionic/pull/11336ã§ææ¡ãããŠãããã¬ãã¥ãŒåŸ ã¡ã§ãã
@AmitMYããããŸããããããšãããããŸãã index.htmlãŸãã¯ion-appãŸãã¯bodyã®htmlã¿ã°ããrtlã«æ¹åãå€æŽããæ¹æ³ã«å¥ã®åé¡ããããŸããããã¯ãæ¹åãå€æŽãã<ion-nav>
äžã«ion-selectããªãããã§ãã ããªããç¥ã£ãŠãããªããããªãã¯ç§ã解決çã«å°ãããšãã§ããŸããïŒ
@joesleiman ïŒ https://github.com/msoni11/ionic/releases/tag/v.1.1.1-rtl.1
å€æŽã確èªããŠé©çšã§ããŸãã
HTMLã¿ã°ã«ããã©ã«ãã®ãdirããèšå®ããŸããå®è¡æã«å€æŽããå Žåã¯ããthis.platform.setDitïŒ 'rtl'ãtrueïŒããå®è¡ããŸãã
ãã¹ããããæ¹åã¯ãµããŒããããŠããªããããä»ã®å Žæã§ã¯dirå±æ§ã䜿çšããªãã§ãã ããã
æåŸã«ã3.2.1ãããRTLã«å¯Ÿå¿ããŠããããããã€ããªãŒããŒãžã§ã³ã䜿çšããŠãã ããã
ä»ã«ãµããŒãã«é¢ãã質åãããå Žåã¯ãionicãã©ãŒã©ã ã䜿çšããŠãã ããããã°/æ©èœã«ã€ããŠã¯ãgithubã䜿çšããŠãã ããã
@ msoni11ã€ãªã³ãªã3.2.0
@AmitMYãã¹ãŠã®ã«ãŒãã¿ã°ã®ãã¹ãŠã®ã¢ããªã§äœ¿çšããŠããŸã[att.dir] = 'isRtlïŒ 'rtl'ïŒ 'ltr' 'ïŒãã¹ãŠã®åœ¢åŒïŒã€ãªã³å«æéã®ããã«ïŒ
è¯ããªãã§ããïŒ
@joesleiman
ä»ã®ãšããããããªã¢ã«ãã¶ã€ã³ã®ããŒãžé·ç§»ã®ã¿ã䜿çšããŠããŸããããã¯ãå·Šããå³ãžã®ããŒãžé·ç§»ãåé¿ããããã®ä»£æ¿æ段ã§ãã
javascript
// in app.module.ts
.
.
imports: [
BrowserModule,
IonicModule.forRoot(MyApp, {
pageTransition: 'md-transition' // change the page Transition to avoid "LRT" page Transition
})
.
.
@AmitMYæ»ããã¿ã³ã®ã¢ã€ã³ã³ãå·Šç¢å°ã§ã¯ãªãå³ç¢å°ã«å€æŽããã«ã¯ã©ãããã°ãã
@joesleimanãããã dir="rtl"
ã«ion-content
ããããããšãã£ãŠããµããŒããä¿èšŒãããããã§ã¯ãããŸããã åžžã«this.platform.setDir('rtl', true)
ã䜿çšãã html
ã¿ã°å
ã®å±æ§ãé€ããã¹ãŠã®dir
å±æ§ãåé€ããå¿
èŠããããŸãã ãŸãããžã§ã¹ãã£ãŒãªã©ã®ã¿ã€ãã¹ã¯ãªããããã€ãªã³ã³ã³ããŒãã³ãã®æ¹åãå¶åŸ¡ããŸãã ïŒ setDir
ãštrue
ã¯ãæ£ãããã£ã¬ã¯ããªã§htmlã¿ã°ãæŽæ°ããããšã«æ³šæããŠãã ããïŒ
æ»ããã¿ã³ã«ã€ããŠã¯ãäžèšã®ããã«é©åãªæ¹æ³ã§æ¹åãèšå®ãããšãããã§è¡ãããã«ç¢å°ãå転ããŸã-https ïŒ//github.com/driftyco/ionic/pull/11634ã ãã€ããªãŒããŒãžã§ã³ã§ã®ã¿å©çšå¯èœã§ãæ°ããããŒãžã§ã³ïŒ3.3.0ïŒã¯æ¬æ¥é ãã«ãªãªãŒã¹ãããŸãã
ãã®çš®ã®ãµããŒãã«é¢ãã質åã«ã€ããŠã¯ããã©ãŒã©ã ã䜿çšããŠãã ããã Githubã¯ãã°/æ©èœãªã¯ãšã¹ãçšã§ãã
RTLã®è©³çŽ°ã«ã€ããŠã¯ã httpsïŒ//github.com/AmitMY/ionic-site/blob/543cc0dd6d198edd5aa2a9a31ac5bd4702ef5332/content/docs/rtl-support/index.mdãã芧ãã ããã
ããã¯å
¬åŒã®RTLããã¥ã¡ã³ãã§ããããŸã äœæãããŠããªããããWebãµã€ãã«ã¯ãããŸããã
@AmitMYããããŸããããããŸã...ã©ããããããšãããããŸããã
@AmitMyãŠãŒã¶ãŒãthis.platform.setDirïŒ 'rtl'ãtrueïŒ;ãé 眮ããå Žåã¢ããªãéããŠããã¢ããªã«æ»ããhtmlã¿ã°dir = 'rtl'ãä¿åããã«ã¯ã©ãããã°ããã§ããã ã ããããã䜿ãã®ã¯è¯ãèãã§ã¯ãããŸããã dir = "ltr"ã«æ»ãããã§ã
@joesleimanãããã£ãŠãã¢ããªãå€æ¹åã§ããããŠãŒã¶ãŒèšå®ã䜿çšããŠã©ã¡ãåŽã決å®ããå Žåã¯ã NativeStorage
ã䜿çšããããŒãèšå®ãçšã«ãªããžã§ã¯ããä¿åããããšããå§ãããŸãïŒ {lang: "he", dir: "rtl"}
ãããã³ãã®åŸã«app.component.ts
ã®platform.ready
ããŠãŒã¶ã奜ã¿ãæã£ãŠãããã©ããã確èªã ãããããªããããããsetDir
ã§é©çšããŸãã
ä»ã®ãšããä»ã®è§£æ±ºçã¯ãããŸããã
setDirã䜿çšãããšãã®@AmitMYïŒããã§ãion-select >> ion-alertïŒmdïŒandroidïŒã§rtlæ¹åã«åé¡ããããŸã
@AmitMYç§ã¯ããã§è§£æ±ºããŸããïŒ
html [dir = "rtl"] .alert-md .alert-radio-icon {
å·ŠïŒ0px;
å³ïŒ13px;
}
ç§ãææ¡ããããã«ãã€ããªãŒããŒãžã§ã³ïŒ 3.2.1-201705231529
ïŒã䜿çšããŠããªããšæããŸãã䜿çšããŠããå Žåã¯ããªãŒããŒã©ã€ããããã¹ã¿ã€ã«ã®ã±ãŒã¹ã§ãããããã§ä¿®æ£ãããŸãhttps://github.com/driftyco / ionic / pull / 11635
@AmitMYã¯ããŸããŸãå€ãã®ãã°ãèŠã€ããŠããã®ã§ãããã§ãã£ã¹ã«ãã·ã§ã³ãå®äºã§ããŸããïŒ
https://forum.ionicframework.com/t/how-can-i-change-the-back-button-in-header-arrow-to-the-right/91591
åé¡ãããããšãïŒ ãã®åé¡ã¯ãå ã®åé¡ã«é¢é£ããªãã³ã¡ã³ããé²ãããã«ããã¯ãããŠããŸãã ãããææ°ããŒãžã§ã³ã®Ionicã§åŒãç¶ãåé¡ã«ãªãå Žåã¯ãæ°ããåé¡ãäœæãããã³ãã¬ãŒããå®å šã«å ¥åãããŠããããšã確èªããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
RTLã®åé¡ã«é¢ããæŽæ°ã¯ãããŸããïŒ