2014-02-09 14 views
5

Diese App soll Bilder anzeigen, in denen die Schüler zählen können, was das Geld insgesamt wert ist, und geben Sie dann den Wert in einem editText Textfeld ein, das dann mit einem gespeicherten Wert verglichen wird. Leider, wenn ich versuche, Aktivitäten über einen bestimmten Punkt hinaus zu wechseln (es gibt 11 aktive Aktivitäten, von denen drei Bilder in Ordnung darstellen), beginnen die Bilder zu verschwimmen und die Münzen sind schwer voneinander zu unterscheiden. Ich weiß nicht, ob dies ein Java oder XML Fehler ist, aber ich habe den folgenden Code eingefügt. Das Folgende ist XML-Code.Bildansicht wird unscharf

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".Ldsm" > 

<LinearLayout 
    android:id="@+id/linearLayout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/submitButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/submit" /> 
</LinearLayout> 

<TextView 
    android:id="@+id/userQuestion" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/linearLayout" 
    android:layout_alignLeft="@+id/userAnswer" 
    android:layout_marginBottom="30dp" 
    android:text="@string/how_many_coins_total" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<EditText 
    android:id="@+id/userAnswer" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/linearLayout" 
    android:layout_alignParentLeft="true" 
    android:layout_marginLeft="16dp" 
    android:ems="10" 
    android:inputType="number" > 

    <requestFocus /> 
</EditText> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/userQuestion" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="50dp" 
    android:layout_marginTop="118dp" > 

</LinearLayout> 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/userQuestion" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/linearLayout" 
    android:src="@drawable/ic_coin4" /> 

Das ist nur eine der sieben Bildschirme ist, die verschwommen aussehen, wenn sie die Bilder anzuzeigen. Folgendes ist der Java-Code für dieselbe Aktivität.

package com.example.ldsm3; 

import android.os.Bundle; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import com.example.ldsm3.Problem5; 

public class Problem4 extends Activity 
{ 
private final int COIN3_SCREEN_ANSWER = 95; 

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_problem4); 

    Button submitButton = (Button)findViewById(R.id.submitButton); 
    submitButton.setOnClickListener(submitButtonListener); 
} 

public boolean onCreateOptionsMenu(Menu menu) 
{ 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

private OnClickListener submitButtonListener = new OnClickListener() 
{ 
    public void onClick(View arg0) 
    { 
     EditText editText = (EditText)findViewById(R.id.userAnswer); 
     int userAnswerValue = Integer.parseInt(editText.getText().toString()); 

     // Build the Alert Dialog 
     android.app.AlertDialog.Builder alert = new AlertDialog.Builder(Problem4.this); 
     alert.setTitle("Answer"); 
     alert.setCancelable(false); 
     if(userAnswerValue == COIN3_SCREEN_ANSWER) 
     { 
      alert.setMessage("Congratulations!!!"); 
     } 
     else 
     { 
      alert.setMessage("Sorry, that's not right."); 
     } 
     alert.setPositiveButton("OK",new DialogInterface.OnClickListener() 
     { 
      public void onClick(DialogInterface dialog,int id) 
      { 
       Intent nextCoinScreenIntent = new Intent(Problem4.this, Problem5.class); 
       startActivity(nextCoinScreenIntent); 
      } 
     }); 
     alert.show(); 

    } 


}; 

    } 

Und ein Screenshot, wenn es 10 auf einem Nexus läuft:

enter image description here

Bitte lassen Sie mich wissen, wenn mehr Informationen benötigt werden.

Antwort

3

Es scheint, als ob es die Symbole abgerufen hat, die nicht für die bestimmte Bildschirmgröße entworfen wurden. Sie können dies beheben, indem Sie in den Arbeitsbereich gehen und jedes Symbol löschen, bei dem es sich um einen anderen Ordner außer dem "Zeichenbaren" handelt. (Mit Ausnahme des ic_launcher-Symbols, mit dem Sie Ihre App im Menü der Android-App anzeigen können und nicht unscharf werden.)

2

Besser als Ihre Lösung wäre, die richtige Auflösungsdatei sicherzustellen ist in jedem Ordner. Die richtige Auflösung ist die gewünschte Auflösung mit den folgenden Multiplikatoren, wie auf dem Android Design documents gezeigt:

enter image description here

+0

http://stackoverflow.com/questions/34960124/how-to-add-images/34960342#34960342 –