2016-07-14 35 views
1

ちょうどプログレスバーウィジェットを使用して開始しました。バーが何パーセントであるかにかかわらず、常にtextbarのテキストが進行中のバーの中央に揃えられます。プログレスバーの中心であり、進行値の中心ではありません。私は位置を設定するには、別のスレッドでの参照を見て、以下のフィドルと添付された画像Ext JSプログレスバー - テキストを中央に配置

progress bar currently and what I want!

https://fiddle.sencha.com/#fiddle/1dm7

を参照してください:相対的な、これはバーの中央にテキストを設定するが、そうすることはバーを意味しませんもはや進歩を示さない。進捗バーが作成されたときに、2つのdivがあり、次のクラスx-progress-textとx-progress-barが含まれていて、どちらもテキスト値を含んでいます。事前に

おかげで

+0

https://www.sencha.com/forum/showthread.php?313019-Progress-Bar-how-to-center-Text-at-all-times-regardless-of -percentage –

答えて

3

あなたはProgressBarWidgetを拡張し、同様に、templateを上書きすることができます。

Ext.define('Fiddle.view.ProgressBarWidget', { 
    extend: 'Ext.ProgressBarWidget', 

    xtype: 'fiddle-progressbarwidget', 

    template: [{ 
     reference: 'backgroundEl' 
    }, { 
     reference: 'barEl' 
    }, { 
     reference: 'textEl', 
     style: { 
      left: 0, 
      right: 0 
     } 
    }], 
}); 

の作業例:https://fiddle.sencha.com/#fiddle/1dn4決定的な解決策がある

+0

こんにちは、これは非常に有望ですが、0.1(10%)に値を設定すると、テキストが複製され、1つが中央に配置され、残りが整列されたままになっている場合、スタイルプロパティバックグラウンドE1にも。私はこれを私のアプリケーションに差し込み、問題が解決したら更新します:) – user2751034

+1

これは私の問題を解決しました、ありがとうございます:) – user2751034

0

は、進捗状況をonResizeハンドラを追加しますバーコンテナ:

onResize: function() { 
    var me = this, 
     progressBar = me.down('progressbarwidget'); 

    // Set text width to element width so that it can be centered 
    progressBar.setWidth(progressBar.el.getWidth()); 
} 

enter image description here

このアイデアはExt.grid.column.Widget.onResize()に何が起こるかからコピーされます。あなたはクラシックテーマのように、2色のテキストを持っている場合は


ユーザーCDからソリューションに...が働く(もuser2751034コメントでいずれかを実行)しない
:あなたは(のtextEl子どもたちと煎茶ソースにテンプレートを再現していても

enter image description here

0):

enter image description here

関連する問題