私のアプリは16x16ボタンのグリッドを作成します。これらはすべて幅と高さが30dpに設定されています。それは480x480dpになります。 800x480の画面でテストすると、アプリは正常に表示されます。しかし、エミュレータを400x240に設定すると、アプリは実際には醜く、ボタンのグリッドは画面より広くなります。Android:ボタンのグリッドの幅画面が異なる画面解像度で変更されない
この問題を解決するために、ボタンの幅と高さを "knopAfmeting"という名前の変数に設定しました。 400x240px画面でテストするとき、アプリがまだのグリッドを表示
Button button = new Button (this);
button.setHeight(knopAfmeting);
button.setWidth(knopAfmeting);
をしかし:
Display display = getWindowManager().getDefaultDisplay();
int schermBreedte = display.getWidth();
int knopAfmeting = schermBreedte/16;
そしてボタンは次のように設定されています。その変数は、コードのこの部分で設定されているように見えますボタンが間違っている。私は間違って何をしていますか?
私は何もできませんフィールドがOnCreate()のコードループで生成されているため.xmlにあります。 – Mavix
なぜピクセル単位で画面の寸法を取得せず、高さと幅を4で割ったのですか?正しい値を取得します。そして、onconfigurationchange()で方向を変更すると再計算されます。 –
なぜ4でそれらを分けるべきですか? – Mavix