[セットトップ]android getwidthは0ソリューション


コントロールドラッグ機能を実現するには、コントロールが存在する親コントロールのサイズを計算する必要があるため、クリックして拡大したり、デバイスの物理サイズで計算したりする場合は、最初はgetWidthを使用して親コントロールの幅と高さを取得してフローティングコントロールのフローティング範囲を設定する必要がありますが、これらの初期化コードはすべてoncreate()メソッドに含まれているため、問題があります.この方法はまだすべてのコントロールを描画していないので、得られたwidthは0であり、初期化されたコードを以下のactivityの方法に置くことができます.
	//        ,         

	@Override
	public void onWindowFocusChanged(boolean hasFocus) {
		super.onWindowFocusChanged(hasFocus);

		if (!ifFirstLoad) {
			
			//              
			registerModelCtrl();
			
		}

	}

これにより初期化されたクラスでこのクラスを使用すると幅と高さが得られます.
============================================================
一部のコントロールを非表示にすると、コントロールの幅と高さを取得するには、インタフェースのロードが完了するまで待たなければなりません.そのため、遅延処理を行い、次のようにサイズを取得する必要があります.
new Handler().postDelayed(new Runnable() {
				@Override
				public void run() {
					//           ,             
					
					int wi = first_chart_webview.getHeight();
					System.out.println("   " + wi);
					System.out.println("   " + wi);
					System.out.println("   " + wi);
					DocCaptain.getInstance().setWebviewHeightTrade(
							first_chart_webview.getHeight());
					DocCaptain.getInstance().setIfOrderLayout(true);

				}
			}, 3000);