Hilfe! Alt-newbie, suche simple Tipps für Grafikgrößen-Anpassung

  • 2 Antworten
  • Letztes Antwortdatum
M

menseken

Neues Mitglied
0
Hallo! … ich habe vor 2 1/2 J. eine einfache MahJong-App für ein Tablet, 800x600, gebaut - eher für den Eigengebrauch.
(Mein ursprünglich in JavaScript geschriebenes Teil hatte ich über ein "Game-Template" an Android angepasst.)

JETZT! … habe ich endlich ein gutes Photo-Smartphone (Xperia S), aber natürlich sieht meine alte App nicht gut aus.
Bei höherer Auflösung als das Tablet ist die Anzeige "analog" gleich groß, sodass etwa das linke obere Viertel des Screens dargestellt wird (erstaunlicherweise funktionieren aber Klicks …).

Sämtliche Grafik inkl. Steine liegen einfach in "res/drawable".
Wie also skaliere ich den HG und die MahJong-Steine?

Folgendes steht im layout/main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<de.cle.menseken.mahjong.MahView
android:id="@+id/game" android:layout_marginTop="-25dp"
android:layout_width="600dp" android:layout_height="800dp" />

In "MahJonG.java" steht am Anfang:
public class MahJonG extends Activity {
private GameThread mGThr; /** A handle to the thread that's actually running the animation. */
private MahView mMahView; /** A handle to the View in which the game is running. */

In "MahView.java" steht u.a.:
private void doDraw(Canvas canvas) { z=0;
canvas.drawBitmap(majo_bg, 0, 0, null); // Hintergrund
private void doDraw(Canvas canvas) {
for (int i=0;i<8;i++) for (int j=0;j<9;j++)
for (int k=0;k<7;k++) {
if (mJall[j][k][0]<100) {
if (k==0) X +=100;
canvas.drawBitmap(mahBitmaps [mJall[j][k][0]], i*62-k*8+L0, j*67-k*8+T0, null); // setzt Steine an berechnete Positionen

Ich habe erst gestern meinen alten Code wieder angesehen: momentan fehlt mir ein bisschen der exakte Überblick, was wichtig sein könnte zum Helfen oder Verstehen.

Ich entschuldige mich für meine momentane Ahnungslosigkeit, bitte aber trotzdem von Kommentaren a la "lies das fucking-manual!" abzusehen.

Vielleicht findet sich ein großmütiger Helfer, der mir eben schnell auf die Sprünge hilft ?!?
Das wäre überaus net!t!t!t ...
menseken
 
android:layout_width="600dp" android:layout_height="800dp" />

? Nur an der Stelle? ... (ist zwar nicht schön so wie du das machst, aber wenns wirklich nur für dein Device ist)
 
kleinerkathe schrieb:
? Nur an der Stelle? ... (ist zwar nicht schön so wie du das machst, aber wenns wirklich nur für dein Device ist)
Gefunden habe ich es nur an dieser Stelle – wo sollte ich noch gucken?

Mittlerweile selbst "ermittelt" habe ich, dass ich in der Manifest-Datei zusätzlich folgendes eintragen sollte:
<supports-screens android:resizeable="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true"/>

… was immerhin dazu führte, dass die "Gesamtansicht" –also alle Steine– zumindest in der Höhe sichtbar sind.
(Mein xperia hat kein 3:4-Seitenverhältnis, sodass rechts ein wenig fehlt.)

ABER: sowohl die HG-Grafik als auch alle Steine sind zu groß (nach wie vor in "alter" Größe) dargestellt.Lediglich die Positionen "zueinander" sehen richtig aus.
Wie/wo bitte korrigiere ich die Größe der jeweils einzelnen Bitmaps?
 

Ähnliche Themen

4
Antworten
10
Aufrufe
1.096
jogimuc
J
S
Antworten
7
Aufrufe
1.305
Silvasurf
S
Zurück
Oben Unten