getWidth()/ getHeight()を使用してXMLレイアウトの幅/高さを取得します。 私はメソッドonSizeChanged()でそれをしなければならないと、私は0 (Android: Get the screen resolution/pixels as integer values)を得るでしょう。Android:クラスを拡張するView.getWidth/Height()にonSizeChangedを使用する必要があります。アクティビティ
しかし、すでにActivityを拡張しているクラスでやりたいと思います。 同じクラスをViewにすることはできないと思います。
public class MyClass extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewGroup xml_layout = (ViewGroup) findViewById(R.id.layout_id);
TextView tv = new TextView(this);
tv = (TextView) findViewById(R.id.text_view);
int layout_height = xml_layout.getHeight();
int layout_width = xml_layout.getWidth();
}
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
//Error, because I need to use extends View for class, but I can't do it because I also need extends Activity to use onCreate
}
}
私がMyClassアクティビティを使用する場合、私はonCreateを使用できますが、onSizeChangedは使用できません。
私がMyClassを使用してViewを拡張する場合、onCreateではなくonSizeChangedbutを使用できます。
どうすれば問題を解決できますか?
申し訳ありませんが、実際に何をすべきか分かりません。自分のアクティビティクラスがActivityではなくViewであるため、onSizeChangedがアクティビティで発生したときにカスタムビューを呼び出すことはできません。しかし、私はonSizeChangedメソッドを使用するためにビューを拡張する必要があります。あなたが少しのコード例を与えることができれば素晴らしいだろう。 – KWT