0
android wear(API 23)の時計アクティビティでWatchViewStub
を使用しています。WatchViewStubの幅と高さ
私は、ビューの中心を基準にタッチイベントから計算を行いたいので、アクティビティのビューの幅と高さを取得しようとしています。
残念ながら、両方の私のスタブビューのgetWidth()
とgetHeight()
いつも私がsetOnLayoutInflatedListener
でリスナーを設定することで膨張するために、レイアウトを待つ場合でも、0
を返します。
WatchViewStub
の実際のサイズはどのように取得できますか?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
Log.d(TAG, stub.getWidth()); // -> 0
Log.d(TAG, stub.getHeight()); // -> 0
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub) {
Log.d(TAG, stub.getWidth()); // -> 0
Log.d(TAG, stub.getHeight()); // -> 0
}
});
}
は、ここでは、コードの関連部分です。 'onMeasure'を無効にしてみてください – jitinsharma
@jitinsharmaありがとう。しかし私は、ビューをオーバーライドする必要がないソリューションを好む。 –