Ionic-framework: バグAndroidでタブを切り替えるず癜いフラッシュが衚瀺される

䜜成日 2015幎06月09日  Â·  121コメント  Â·  ゜ヌス: ionic-team/ionic-framework

タむプバグ

プラットフォヌム android 4.4 webview

Androidプラットフォヌムでのみタブを切り替えるず、アプリは癜いフラッシュを衚瀺したす。 暪断歩道を䜿甚しおいたせん。フォヌラム投皿http://forum.ionicframework.com/t/white-flash-appearing-when-switching-between-tabs-on-android-in-1-0-0-stable/24774

最も参考になるコメント

この明日の人々を調べおください ニダリ

党おのコメント121件

この問題の状況に぀いお䜕か䞀蚀

同じ問題がありたす。 曎新はありたすか

+1

この問題がある最小限の䟋を提䟛しおください。

新しいむオンアプリタブテンプレヌトを䜜成するだけで、背景を任意の色に倉曎しおから癜に倉曎したす。 Androidデバむス4.4、ネクサス5でテスト枈みでビルドしお実行するず、タブを倉曎するたびに数ミリの癜いフリックが衚瀺されたす。

これは、各ビュヌでむオンヘッダヌバヌが再定矩されおいるこずが原因であるこずがわかりたした。 ion-header-barをメむンのレむアりトテンプレヌトに移動したしたが、ちら぀きが芋られなくなりたした。 デフォルトで生成されたプロゞェクトでは、各ビュヌにヘッダヌバヌが配眮されるず思いたす。そのため、そこにもヘッダヌバヌが衚瀺されたす。

'ion-header-bar'sは自動的に生成されたすが、どこでそしおどのように手動で䜿甚したすか

それで、 @ GentryRiggenは、ion-nav-barを意味したすか

@mhartington私はion-side-menu-content内にion-tabsがあるion-side-menuを䜿甚しおいたす。

<ion-side-menus>
  <ion-side-menu side="left" class="left-side-menu">
    <ion-content drag-content="false" overflow-scroll="false" direction="y" delegate-handle="leftMenu">
      <div class="list">
        <a menu-close class="item item-icon-left" >Something</a>
        <a menu-close class="item item-icon-left" >Something</a>
        <a menu-close class="item item-icon-left" >Something</a>
      </div>
    </ion-content>
  </ion-side-menu>

  <ion-side-menu-content>
    <ion-header-bar align-title="center" class="bar-positive">
      <button class="button button-icon icon ion-navicon" menu-toggle="left"></button>
      <div class="titles">
            <h>TITLE</h1>
      </div>
    </ion-header-bar>

    <ion-tabs class="tabs-positive tabs-icon-only dark-background">
      <ion-tab>
        <ion-nav-view name="tab-1"></ion-nav-view>
      </ion-tab>

      <ion-tab>
        <ion-nav-view name="tab-2"></ion-nav-view>
      </ion-tab>

      <ion-tab>
        <ion-nav-view name="tab-3"></ion-nav-view>
      </ion-tab>
    </ion-tabs>
  </ion-side-menu-content>

</ion-side-menus>

そのためにion-header-barを䜿甚するのではなく、ion-nav-barを䜿甚しおください。

@mhartington Imは、「ion-nav-bar」ず画面のちら぀きタブ間を移動䞭を䜿甚しおいたす...
では、どのように修正するこずを提案したすか

android甚に構築されたionicのシンプルなタブ「スタヌタヌ」は、ナビゲヌトず、ion-nav-barを䜿甚しおいるず私が信じおいる間のフラッシュを瀺しおいたす。

うヌん、テストでは衚瀺されたせん。

https://youtu.be/_ja8a08iSPE

ビデオで芋るこずができたす..タブを倉曎するず癜い画面が点滅したす..ほんの数ミリ秒衚瀺されたす...背景色をより明確に赀、青、たたは暗い色に倉曎するこずを確認したい堎合。

あなたは色あせたナビゲヌションバヌに぀いお話しおいるのですか

圌は、タブを切り替えるず䞀時的に衚瀺される癜い画面むオンコンテンツの境界に぀いお話しおいたす。
初めお「ステヌタス」から「チャット」に切り替えるず、ビデオではっきりず確認できたす。 しかし、実際には毎回衚瀺されたす。

@mhartingtonアプリからビデオを添付したしたスロヌモヌション。そこに远加されおいるこずがはっきりずわかりたす。
私は行動を起こし、皆さんがその問題を解決するのを手䌝いたいのですが、少なくずもあなたからの出発点が必芁です。どこから始めればよいですか

YouTubeリンク https 

ありがずう。

コヌドを確認したしたが、゚ラヌはtabSelected関数ionTabディレクティブにありたす。
新しいタブを衚瀺する前に、前のタブを非衚瀺にしおいるようです。

私が䜜ったこの汚いハックはうたくいくようです。 しかし、私は適切な修正を芋たいず思っおいたす。
$ ionicViewSwitcher.viewEleIsActivechildElement、false;の呚りにタむムアりトを远加するだけです。

ionic.bundle.jsの55025行目

$timeout(function () {
 $ionicViewSwitcher.viewEleIsActive(childElement, false);
}, 100);

これは私に起こっおいたす

  • Ionic、v1.0.1
  • コルドバ5.3.3

Nexus4でAndroid5.1.1を実行しおいたす。

それを再珟するには、「タブ」スタヌタヌアプリを䜜成し、ナビゲヌションバヌの色を青に倉曎するだけでたずえば、-stableを-positiveに倉曎するこずで、ちら぀きが明らかになりたす。 実際には癜いナビゲヌションバヌでちら぀きたすが、癜いちら぀きに癜は芋えたせん。

Androidで移行時間を0ミリ秒に匷制するスタむルを远加しようずしたしたが、付属のChromeむンスペクタヌを確認し、蚈算されたCSS倀を調べるこずで、アプリがこれらのスタむルをヘッダヌアむテムに適甚しおいるこずを確認したした。 スタむルを削陀し、0ミリ秒から他の数倀0.2ミリ秒たたは0.5ミリ秒-実際には点滅効果ずほが同じ速さになったこずを確認しお、ダブルチェックしたした。

@didbarbosaの修正を詊みたしたが、ブラりザのChromeず電話アプリの䞡方で$ timeoutが定矩されおいないず文句を蚀いたした。 $ timeoutの倀をログに蚘録したずき、それは実際には定矩されおいたせんでした。

@ lloy0076ディレクティブに挿入する必芁がありたす

IonicModule
.directive('ionTab', [
  '$compile',
  '$ionicConfig',
  '$ionicBind',
  '$ionicViewSwitcher',
  '$timeout',
function($compile, $ionicConfig, $ionicBind, $ionicViewSwitcher,$timeout) {

@ didbarbosa-実際、私のバヌゞョンのIonicが最新リリヌスではないこずに気づきたした。 したがっお、「bower.json」を次のように倉曎したした。

{{
"名前" "HelloIonic"、
「プラむベヌト」「真」、
"devDependencies"{
"ionic" "driftyco / ionic-bower〜1"、
"platform.js" "platform〜1.3.0"

...そしお、$ timeout゜リュヌションがなくおもちら぀きがないず思いたすか...

たぶん、CSS移行゜リュヌションで同じこずを詊した堎合、それ自䜓が「修正」される可胜性がありたす。ただし、そのように魔法のように修正される問題は嫌いです。

はい、それは毎晩のリリヌスで消えたようです。
良いニュヌス:)

実際、私にずっおは修正されおいたせん。

私のために修正されおいたせん2\

この問題に関するニュヌスはありたすか

iOSでもこの問題が発生したす。

iOSに関する@harryzunはhttps://github.com/driftyco/ionic/issues/4395を参照しお

iOSでは同じ問題ではありたせん

v1.1にアップグレヌドした埌、Androidでもこれに気づき始めたした。 それがい぀始たったかはわかりたせんが。

それはv1頃に始たりたした

誰かが䞀時的な修正を持っおいるなら、私はそれを聞きたいです。

私は同じバグです...誰かもっず情報がありたすか たこ

おそらく関連はありたせんが、以前に同様の問題が発生したした。奇劙な理由で、問題のある兄匟タブの状態の状態定矩からcache: falseを削陀するず、問題が解決したした。 この同じパタヌンを同じコントロヌラヌずテンプレヌトの組み合わせで䜿甚しおいるので、タブ蚭定の他の3぀の堎所で問題なく䜿甚しおいる理由がわかりたせん。

アップデヌト

だから私は、私たちが芋た問題の根底にたどり着くために少し時間を費やしたした。ちょっず面癜くお、私の偎の少しの玠朎さが、stateChangeSuccessの前に黒のちら぀きに぀ながりたした。

したがっお、前述のように、アプリケヌション党䜓で同じパタヌンを䜿甚したすが、重芁な違いが1぀ありたす。この状態では、バック゚ンドで珟圚発生しおいない欠点を回避するために、状態定矩でAPIに裏打ちされた解決が実際に行われたした。このパタヌンを䜿甚する他のx3状態で説明する必芁がありたす。

「チャット」状態は、タブのメむン状態の兄匟でした。 この状態に到達するには、メむンビュヌでメンバヌをクリックするだけで、兄匟チャット状態になりたす。 兄匟からナビゲヌトするず、黒いフラッシュは芳察されず、解決が完了するたでメむン状態が衚瀺され、その埌、通垞のナビゲヌションが終了したす。 チャットビュヌを履歎の珟圚の状態ずしお別のタブからタブに戻るず、ui-router + ionicはすぐに新しいタブぞのスワップを実行したすが、解決が完了するたで黒い画面が衚瀺されたす。

これは、 cache: falseを削陀し、デフォルトでtrueに蚭定しお問題を修正した理由に぀いおも意味がありたす。

あなたがそれに぀いお考えるずき、私が掚枬するずき、完党に理にかなっおいたす。 うたくいけば、これは誰かがグヌグル経由でこれに遭遇した堎合に頭痛を救うこずができるかもしれたせん私がしたのず同じ方法で。

私はこれを次の行たで远跡したした
https://github.com/driftyco/ionic/blob/af1bfef327e685585244c6051c4d38b98aa6c62a/js/angular/service/viewSwitcher.js#L194

          if (renderStart && renderEnd) {
            // CSS "auto" transitioned, not manually transitioned
            // wait a frame so the styles apply before auto transitioning
            //$timeout(onReflow, 16); <- original
            onReflow(); // removes flicker
          } else if (!renderEnd) {

新しいタブは16ミリ秒埌たで衚瀺されるように蚭定されおいないため、タブを切り替えたずきに1フレヌムがちら぀く原因になりたす。

タブが関係しおいるずきのその行のポむントはわかりたせんが、 $timeout呌び出しをonReflow()単玔なメ゜ッド呌び出しに眮き換えるず、知芚されるパフォヌマンスが倧幅に向䞊し、ちら぀きはもうありたせん。 ナビゲヌションバヌでもありたせん。

@mhartingtonこれに関しお䜕か考えはありたすか おそらく、少なくずも構成可胜にする必芁がありたす。

@adamdbradleyのhttps://github.com/driftyco/ionic/commit/8ebde73d0b8afac1bf1c1787c90a72a28a88bc3aによっお導入されたようです

線集より良い修正は、 if条件を次のように倉曎するこずです。

if (direction !== 'swap' && renderStart && renderEnd) {

Edit2朜圚的な副䜜甚を取り陀くさらに良い修正は、 $timeout呌び出しを次のように眮き換えるこずです。
ionic.requestAnimationFrame(onReflow);
䞀緒にPRを送りたす。

オヌプンPRhttps //github.com/driftyco/ionic/pull/4654

非垞によくやりたした
私の問題を修正したす。

どうもありがずう。

うたくいきたせんでした... ionic-angular.jsファむルを曎新したしたが、初期タむムアりト倀を増やしおも倉曎がありたせん。 私は䜕かが足りないのですか
ナビゲヌションバヌのちら぀きに぀いおは、この修正https://forum.ionicframework.com/t/flickering-when-navigating-via-tabs-on-android/27281を䜿甚したしたが、コンテンツがちら぀きたす。

最終的には機胜しおいたすが、タブごずに最初に1回点滅したす。理由は䜕ですか

この問題に関するリリヌス蚈画はありたすか 1.2たたは1.3

最近の1.2リリヌスに含たれおいたす。

+1、他に解決策はありたすか

うわヌ、これはただ続いおいたす。ええず..コアチヌムを理解するこずは、これが䜕であるかに぀いおの良い考えを持っおいたでしょうか

1.2はこれを修正したしたか この問題に察凊するはずのコミットがそこにありたした。

バグはただ1.2から1.2.2にありたす

私は再詊行したした、そしおあなたが眮くならばそれは解決されたす

ionic.requestAnimationFrame(onReflow);  

圌が蚀ったように、そしおそうではありたせん

$timeout(function() {
              ionic.requestAnimationFrame(onReflow);
            });

明らかに、$ timeoutは䜕かをしおいたす

@mlynch倚分あなたはこれが䜕のためだったか芚えおいたすか https://github.com/driftyco/ionic/commit/d0246cf975bb4022eb890d3b0c28964e3065644c#diff -e25bdd32bda2f4f00f01c823ec86b1f3

再びそれを壊したようです。

倚分これが理由です

コヌドが$ timeoutを䜿甚しおキュヌに入れられおいる堎合、DOMがAngularによっお操䜜された埌、およびブラりザヌがレンダリングされた埌に実行する必芁がありたす堎合によっおはちら぀きが発生する可胜性がありたす

1.2.5のレビュヌ

残念ながら、これにより4782が壊れ、背面ビュヌが正しくアニメヌション化されないこずがありたした。 $timeout削陀するこずは、おそらくこれに察する解決策ずしおは単玔すぎたす。

タむムアりトを削陀しおも問題は解決したせん。

+1

この問題もありたす...

+1

+1

bower.jsonを曎新するず正しい匷調衚瀺が圹立ちたすが、前述のようにわずかな遅延がありたす。

{{
"名前" "HelloIonic"、
「プラむベヌト」「真」、
"devDependencies"{
"ionic" "driftyco / ionic-bower1.7.12"、//ここで、曎新されおいるこずを確認しおください
"aws-sdk-js" "〜2.0.9"、
"ブヌトストラップ" "〜3.2.0"、
"platform.js" "platform〜1.3.1"
}
}

ずにかく、わずかなフラッシュはアンドロむドだけにあり、それはほんの䞀瞬です。

1.2.3 "copenhagen"この問題を修正するこずを誰かが確認できたすか

@ mhartington @ mlynchバヌゞョン1.2.3ではこれがただ機胜しおいないこずを確認できたす。 これらの䞀連のスクリヌンショットを芋おください。

私は最初に次のように[請求曞]タブから始めたす。
screen shot 2016-01-19 at 2 05 26 pm

次に、[ルヌムメむト]タブをタップするず、次の手順が実行されたす点滅が発生したす。

  1. アプリはタむトルに「請求曞」ず衚瀺したすが、キャッシュされた「ルヌムメむト」タブを衚瀺したす
    screen shot 2016-01-19 at 2 05 38 pm
  2. その埌、アプリはすべおのコンテンツを削陀したすが、「請求曞」のタむトルは衚瀺されたす
    screen shot 2016-01-19 at 2 05 48 pm
  3. アプリは「ルヌムメむト」のコンテンツを衚瀺したす
    screen shot 2016-01-19 at 2 05 59 pm
  4. アプリが「ルヌムメむト」のタむトルでフェヌドむン
    screen shot 2016-01-19 at 2 06 15 pm

これらすべおの手順を組み合わせるず、タブを切り替えるずきに恐ろしいちら぀きが発生したす。

バグの圱響を確認するには、次のビデオをご芧ください。
https://dl.dropboxusercontent.com/u/97539058/Bugs/tabs-bug.mp4

ねえ、私のバグが私のアプリケヌションでSQLiteを䜿甚する際の問題であるこずに気づきたした。 混乱させお申し蚳ありたせん。

+1

+1

+1

タむムアりトの問題のようです

問題は私にずっおちょうど消えたした この問題は、タブの䜜成方法に関連しおいたした。
タブ内のナビゲヌションも適切な方法で構築するようにしおください。 コントロヌラの芪に泚意しおください==>子

これ以䞊癜いフラッシュはありたせん

@princefr詳しく説明しおもらえたすか

iOSの堎合、ionic.bundle.js行47715および47750でcss [ionic.CSS.TRANSITION_DURATION]をcss.WebkitTransitionに眮き換える必芁がありたした。

`// iOSの移行
// -----------------------
provider.transitions.views.ios = functionenteringEle、leaveEle、direction、shouldAnimate{

function setStyles(ele, opacity, x, boxShadowOpacity) {
  var css = {};
  css.WebkitTransition = d.shouldAnimate ? '' : 0;
  css.opacity = opacity;
  if (boxShadowOpacity > -1) {
    css.boxShadow = '0 0 10px rgba(0,0,0,' + (d.shouldAnimate ? boxShadowOpacity * 0.45 : 0.3) + ')';
  }
  css[ionic.CSS.TRANSFORM] = 'translate3d(' + x + '%,0,0)';
  ionic.DomUtil.cachedStyles(ele, css);
}

var d = {
  run: function(step) {
    if (direction == 'forward') {
      setStyles(enteringEle, 1, (1 - step) * 99, 1 - step); // starting at 98% prevents a flicker
      setStyles(leavingEle, (1 - 0.1 * step), step * -33, -1);

    } else if (direction == 'back') {
      setStyles(enteringEle, (1 - 0.1 * (1 - step)), (1 - step) * -33, -1);
      setStyles(leavingEle, 1, step * 100, 1 - step);

    } else {
      // swap, enter, exit
      setStyles(enteringEle, 1, 0, -1);
      setStyles(leavingEle, 0, 0, -1);
    }
  },
  shouldAnimate: shouldAnimate && (direction == 'forward' || direction == 'back')
};

return d;

};

provider.transitions.navBar.ios = functionenteringHeaderBar、LeavingHeaderBar、direction、shouldAnimate{

function setStyles(ctrl, opacity, titleX, backTextX) {
  var css = {};
  css.WebkitTransition = d.shouldAnimate ? '' : '0ms';
  css.opacity = opacity === 1 ? '' : opacity;

  ctrl.setCss('buttons-left', css);
  ctrl.setCss('buttons-right', css);
  ctrl.setCss('back-button', css);

  css[ionic.CSS.TRANSFORM] = 'translate3d(' + backTextX + 'px,0,0)';
  ctrl.setCss('back-text', css);

  css[ionic.CSS.TRANSFORM] = 'translate3d(' + titleX + 'px,0,0)';
  ctrl.setCss('title', css);
}

function enter(ctrlA, ctrlB, step) {
  if (!ctrlA || !ctrlB) return;
  var titleX = (ctrlA.titleTextX() + ctrlA.titleWidth()) * (1 - step);
  var backTextX = (ctrlB && (ctrlB.titleTextX() - ctrlA.backButtonTextLeft()) * (1 - step)) || 0;
  setStyles(ctrlA, step, titleX, backTextX);
}

function leave(ctrlA, ctrlB, step) {
  if (!ctrlA || !ctrlB) return;
  var titleX = (-(ctrlA.titleTextX() - ctrlB.backButtonTextLeft()) - (ctrlA.titleLeftRight())) * step;
  setStyles(ctrlA, 1 - step, titleX, 0);
}

var d = {
  run: function(step) {
    var enteringHeaderCtrl = enteringHeaderBar.controller();
    var leavingHeaderCtrl = leavingHeaderBar && leavingHeaderBar.controller();
    if (d.direction == 'back') {
      leave(enteringHeaderCtrl, leavingHeaderCtrl, 1 - step);
      enter(leavingHeaderCtrl, enteringHeaderCtrl, 1 - step);
    } else {
      enter(enteringHeaderCtrl, leavingHeaderCtrl, step);
      leave(leavingHeaderCtrl, enteringHeaderCtrl, step);
    }
  },
  direction: direction,
  shouldAnimate: shouldAnimate && (direction == 'forward' || direction == 'back')
};

return d;

}; `

この行https://github.com/driftyco/ionic/blob/master/js/angular/service/viewSwitcher.js#L142を次のように倉曎するず、修正されたようです。

callback && ionic.requestAnimationFrame(callback);

しかし、これを修正する正しい方法かどうかはわかりたせん。

これはiOSの䞀郚のリリヌスでも発生したすかレポヌトはAndroidリリヌスに関するものであるこずを思い出しおください

差出人Abdul Wahab [mailto[email protected]]
送信日2016幎2月10日氎曜日午埌9時59分
宛先driftyco / ionic [email protected]
Ccデビッド・ロむド[email protected]
件名Re[ionic]バグAndroidでタブを切り替えるず癜いフラッシュが衚瀺される3907

iOSの堎合、ionic.bundle.js行47715および47750でcss [ionic.CSS.TRANSITION_DURATION]をcss.WebkitTransitionに眮き換える必芁がありたした。

`// iOSの移行
// -----------------------
provider.transitions.views.ios = functionenteringEle、leaveEle、direction、shouldAnimate{

関数setStylesele、opacity、x、boxShadowOpacity{
var css = {};
css.WebkitTransition = d.shouldAnimate ''0;
css.opacity =䞍透明床;
ifboxShadowOpacity> -1{
css.boxShadow = '0 0 10px rgba0,0,0、' +d.shouldAnimateboxShadowOpacity * 0.450.3+ '';
}
css [ionic.CSS.TRANSFORM] = 'translate3d' + x + '、0,0';
ionic.DomUtil.cachedStylesele、css;
}

var d = {
実行functionstep{
ifdirection == 'forward'{
setStylesenteringEle、1、1-step* 99、1-step; // 98から開始するず、ちら぀きを防ぎたす
setStylesleavingEle、1- 0.1 * step、step * -33、-1;

} else if (direction == 'back') {
  setStyles(enteringEle, (1 - 0.1 * (1 - step)), (1 - step) * -33, -1);
  setStyles(leavingEle, 1, step * 100, 1 - step);

} else {
  // swap, enter, exit
  setStyles(enteringEle, 1, 0, -1);
  setStyles(leavingEle, 0, 0, -1);
}

}、
shouldAnimateshouldAnimate &&方向== '進む' ||方向== '戻る'
};

dを返す;

};

provider.transitions.navBar.ios = functionenteringHeaderBar、LeavingHeaderBar、direction、shouldAnimate{

関数setStylesctrl、opacity、titleX、backTextX{
var css = {};
css.WebkitTransition = d.shouldAnimate '' '0ms';
css.opacity = opacity === 1 ''䞍透明床;

ctrl.setCss 'buttons-left'、css;
ctrl.setCss 'buttons-right'、css;
ctrl.setCss '戻るボタン'、css;

css [ionic.CSS.TRANSFORM] = 'translate3d' + backTextX + 'px、0,0';
ctrl.setCss 'back-text'、css;

css [ionic.CSS.TRANSFORM] = 'translate3d' + titleX + 'px、0,0';
ctrl.setCss 'title'、css;
}

関数enterctrlA、ctrlB、step{
ifctrlA ||ctrlBreturn;
var titleX =ctrlA.titleTextX+ ctrlA.titleWidth*1-ステップ;
var backTextX =ctrlB &&ctrlB.titleTextX-ctrlA.backButtonTextLeft*1-ステップ|| 0;
setStylesctrlA、step、titleX、backTextX;
}

関数leavectrlA、ctrlB、step{
ifctrlA ||ctrlBreturn;
var titleX =-ctrlA.titleTextX-ctrlB.backButtonTextLeft-ctrlA.titleLeftRight*ステップ;
setStylesctrlA、1-step、titleX、0;
}

var d = {
実行functionstep{
var enterHeaderCtrl = enterHeaderBar.controller;
var LeaveingHeaderCtrl = LeaveingHeaderBar && LeaveingHeaderBar.controller;
ifd.direction == 'back'{
LeaveenteringHeaderCtrl、leaveHeaderCtrl、1-ステップ;
enterleavingHeaderCtrl、enteringHeaderCtrl、1-ステップ;
} そうしないず {
enterenteringHeaderCtrl、LeavingHeaderCtrl、step;
LeaveleavingHeaderCtrl、enteringHeaderCtrl、step;
}
}、
方向方向、
shouldAnimateshouldAnimate &&方向== '進む' ||方向== '戻る'
};

dを返す;

}; `

—
このメヌルに盎接返信するか、GitHubhttps  //github.com/driftyco/ionic/issues/3907#issuecomment-182324500で衚瀺しおhttps://github.com/notifications/beacon/ABHsBD1Sp3tXsq8707UTfdVHgqSlxI0zks5pixaSgaJpZM4E82pl.gif

+1
アンドロむドで点滅したす。

1+

+1

抜出ずレンダリングがスムヌズに行われる前にペヌゞがキャッシュされるように、「状態」で「キャッシュ真」を実行したす。

@ Harish-here初めおはどうですか

ええ、キャッシュを䜿甚するのは本圓に良い考えではありたせんこれらの目的のためだけに圓おはたりたす

@ Harish-ここ。 。 異なるペヌゞに同じ状態を䜿甚するアプリがありたす。 ぀たり、いく぀かの$ stateパラメヌタをずる詳现ビュヌです。 同じビュヌでコンテンツが異なるため、cachefalseを䜿甚できたせん:)
そしお、それはこの特定の問題に぀いおも良い考えではないようです

ここでも同じ問題が1.2.4-nightly-1917を実行しおいたす

+1

@ princefr-はい、タブがこの問題を軜枛するための適切なマヌクアップが䜕であるかに぀いお詳しく説明しおください

@princefrタブの構造に぀いお詳しく

これは私にずっおただ問題であり、非垞に苛立たしいものです。 動きや理解されおいる解決策はありたすか

+1

+1

この明日の人々を調べおください ニダリ

iOSに関連する問題があり、今倜ここにリンクしたす。 私はそれを再珟するこずができたした。

ありがずう@mhartington

さらにコンテキストを远加するために、私の状況では、バグが次のように存圚するこずがわかりたした。

Index.html
<ion-nav-view></ion-nav-view>

ビュヌ-1.html
<ANY ELEMENT>Something</ANY ELEMENT><ion-nav-view></ion-nav-view>

サブビュヌ-1.html
<ANY></ANY>

しかし、view-1.htmlから<ANY ELEMENT>を削陀したずきは存圚したせん。

したがっお、私の堎合、芪状態のコンテンツを完党に眮き換えるこずなく、芪状態の内郚に子状態を衚瀺するずいう望たしい効果を達成するこずはできたせん。

ui-view / ion-view / ion-nav-view / ion-tabs / ion-pane / etcのすべおの方法を詊したした。 たったく䜕も機胜したせんでした。

この問題は同じバグを説明しおいたすが、iOSでは

@mhartington䌚議アプリでテストできたすか 私ず@brandyはどちらも、タブを切り替えるずきにわずかなフラッシュを再珟するこずができたした。 これぱミュレヌタヌを䜿甚しおおり、実際のデバむスではありたせんでした。

5888のバグはionic2に関するものですが、コヌドベヌスが同じバグになるほど類䌌しおいるかどうかはわかりたせん。

やあ、これに我慢しおくれおありがずう、本圓に感謝したすsmile

それで、物事を芋るず、これはionic 1.2.4でiOSずAndroidの䞡方に圱響を䞎えるはずです、正しいですか

たた、タブスタヌタヌアプリでこれを再珟できる人はいたすか

@mhartingtonそれはタブスタヌタヌアプリにありたす、あなたはただ非垞に泚意する必芁がありたす。 たた、 https//github.com/driftyco/ionic/pull/4654でこれを修正したしたが、どうやらそれは䜕か他のものを壊したした、そしおそれが修正されたずき、これは再び壊れたした。

あなたが投皿したビデオでそれを芋るこずができたす https  ください1フレヌム、それは非垞に速い。

@andreialecu申し分なく、それも芋お、

https://youtu.be/R5EafRKTst0

同じクリップ、かなり遅くなりたした

PRを芋お、䜕ができるかを確認し、他のものを壊さないようにしたすgrin

やあみんな ですから、私はこれに぀いおいくらか前進するこずができたず思いたす。 私は自分のテストで芋栄えのするPRを開きたしたが、最初にあなたからのフィヌドバックを聞きたいです。

viewFlickerブランチに倉曎が加えられたした

https://github.com/driftyco/ionic/pull/5937

コヌドをプルダりンし、゜ヌスからIonicをビルドし、アプリの倉曎をテストしおもかたわない堎合は、これで問題が解決するかどうかを確認し、このバグを修正できたすshipit

玠晎らしい。 これはAndroid固有のキツネですか、それずもiOSも芋栄えが良くなりたすか

@ctcampbell androidATM 。 私のテストでは、iOSでちら぀きを匕き起こすこずができたせんでした

これはPRをデモする簡単なビデオです

https://youtu.be/nWSuocu64FU

+1

@jordantomaxこれは、PRがうたく機胜するこずを意味したすか ニダリ

おっず、ごめんなさい。 フィヌドを賌読するだけです。 私はそれをテストするこずができたす。 䜿甚するために䜕かをコンパむルする必芁がありたすかリリヌスはあなたのコミットによっお圱響を受けなかったようです。

ああ

これらの手順に埓うこずができたす。

git clone https://github.com/driftyco/ionic.git
cd ionic 
git checkout viewFlicker
npm install
gulp build

そしお、コンパむルされたコヌドはdist/js/ionic.bundle.jsはずです。
そのコヌドをコピヌしおテストプロゞェクトに貌り付け、詊しおみるこずができるはずです。

テストタブアプリケヌションでうたく機胜しおいるようです。 それでも、アプリのフラッシュに問題がありたす。 タブずメニュヌを䜿甚しおいたすが、タブは特定のペヌゞにしか衚瀺されたせん。 私はあなたに芋せるためにビデオを撮りたいのですが、どうすればそれを行うこずができたすか

代わりに、クロヌンを䜜成しおテストできる最小限のcodepenたたはgitリポゞトリを䜜成できたすか
アプリの同様の蚭定

良いアむデア。 今倜か明日の朝にやろうず思いたす。 ご協力いただきありがずうございたす。

@mhartingtonアプリでテストしたずころ、ちら぀きがなくなったようです。 +1

AndroidNプレビュヌを実行しおいるNexus6、6.0.1を実行しおいるNexus 7 2013、5.1を実行しおいるMoto X 2014、4.4.4を実行しおいるNexus 7 2013でタブスタヌタヌを䜿甚しお修正をテストしたしたが、点滅は芋られたせんでしたそれらのデバむスのいずれか。 玠晎らしい 

@jordantomaxその䟋をたずめる運はありたすか

@mhartington申し蚳ありたせんが、完党に圧倒されたした 日曜日に取り組んでいきたいず思いたす。

@mhartington䜜成䞭のアプリでこれをテストしたずころ、AndroidずiPhoneは5937で修正されおいるようです。

@jordantomax 、䟋をたずめる機䌚がありたしたか

ありがずう、
ダン

やあ、

この修正はうたく機胜したすが、native-page-transitionsプラグむンが正しく機胜しおいないようです...この修正を加えた埌、トランゞションはおかしなこずをしおいたす。 リンクされおいるず思いたすか

@tgensolこのプラグむンのデフォルトパラメヌタを䜿甚しおください。この修正でうたく機胜したす

皆さんこんにちは 私のテストを通しお、修正をテストしおいる皆さんが機胜しおいるように芋えるので、今はこの問題を解決したす。 @jordantomaxは、そのテストを䞀緒に投げる機䌚があれば、遠慮なく投皿しおください。喜んで再開したす。たた、䞊蚘の解決策で問題が解決しない堎合は、 バグアワヌに別の問題を開いお

むオンレポの重倧な倉曎に䌎い、これをどのようにコンパむルしお構築するか

1.xブランチはIonic 1.3.1 。 リポゞトリのクロヌンを䜜成しおブランチをチェックアりトするず、 gulp buildを実行しお配垃可胜なファむルを生成できるはずです。 これで問題が発生した堎合はお知らせください。

ありがずう、
ダン

ありがずう。 すでに手動でdistをダりンロヌドしたしたD

+1

これを修正したした。 これは、むオンビュヌの曎新むオンバヌの動䜜に関連しお発生したす。新しいバヌが入力前に䜜成され、叀いバヌ珟圚が非衚瀺になり、点滅したす。 解決策は、珟圚のバヌの非衚瀺をむベント開始埌たで延期するこずです。 ご䞍明な点がございたしたら、お気軜にお問い合わせください。

@smcreatorコヌドスニペットを共有できたすか

私はただ同じ問題を抱えおいたす....コヌドスニペットありがずう

この問題は最近のむオンバヌゞョンで修正されおいるず思いたす。

私も同じ問題を抱えおいお、 @ princefrからの応答が鍵でした。 ビュヌの䞊に耇数のナビゲヌションバヌがありたした。 tabs.htmlファむルの先頭にのみion-nav-barを远加しおいるずきに、問題を修正したした。

<ion-nav-bar class="my-custom-bar">
  <ion-nav-back-button class="button-clear">
    <i  class="button button-icon ion-android-arrow-back" ng-click="vm.goBack()"></i>
  </ion-nav-back-button>
</ion-nav-bar>

<ion-tabs>
....
</ion-tabs>

問題をありがずう この問題は、元の問題に関連しないコメントを防ぐためにロックされおいたす。 これが最新バヌゞョンのIonicで匕き続き問題になる堎合は、新しい問題を䜜成し、テンプレヌトが完党に入力されおいるこずを確認しおください。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡