Image positionieren - "wrap-content" falsch benutzt?

  • 11 Antworten
  • Letztes Antwortdatum
T

Tala

Neues Mitglied
0
Hallo Freunde! :D
Ich bin blutige Anfängerin und hab bisher nur mit Java gearbeitet, traue mich nun aber auch mal an Android und somit XML an. Zurzeit versuche ich mich an verschiedenen Tutorials und es klappt auch alles ganz gut, aber zurzeit habe ich folgendes Problem.

Hier erstmal der Code:

Code:
  <ImageView
        android:id="@+id/infospherelogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:contentDescription="@string/bla"
        android:src="@drawable/infosphere_logo" />



Ich habe ein Image eingebunden und es wird auch angezeigt,
allerdings liegt es nicht am oberen Bildschirmrand an, was ja mit
Code:
android:layout_alignParentTop="true"
gewährleistet sein müsste, oder? Außerdem ist das Bild auf einmal nach oben und unten hin erweitert, sodass dort auch gar kein Platz zu sein scheint, was mich irritiert da ich den Befehl
Code:
"wrap-content"
so verstanden, dass das Bild dann quasi nur so viel Platz braucht wie es groß ist, oder lieg ich da vllt falsch?

In Eclipse wird es mir so angezeigt:


Allerdings sieht das Bild in Wirklichkeit so aus:



Es geht also nach oben und unten hin gar nicht weiter.

Ich hoffe die Frage ist nicht allzu dumm,
ich habe mich auch bei den FAQ's umgesehen und andere Beiträge durchforstet aber nichts gefunden was mir geholfen hätte.
Ich schätze mal ich hab einfach irgendwas falsch verwendet oder verstanden.
Vielen Dank schon mal,
Liebe Grüße,
Tala
 
Hey ehm, sorry für den Doppelpost aber ich komm irgendwie echt nich weiter und kann deswegen auch nicht weiter rumprobieren, was ein bisschen deprimierend ist :(

Ich dachte das ist ne einfache Frage die mir Jeder mit ein bisschen mehr Ahnung beantworten kann. Wenn man das Problem nicht versteht einfach nachfragen aber ich hab jetzt schon wieder stundenlang gegoogelt und stecke immer noch fest. :/
 
würde sagen es kommt drauf an, was da rechts neben dem bild für ein layout platziert wird.

du sagst auch center horizontal, aber im screenshot ist das bild links. da ist irgendwas faul

kopier mal das komplette layout rein, dann sieht man eher was
 
Danke erstmal für die Antwort :)

Also vllt war das ein bisschen blöde eingefügt von mir.
Eigentlich ist das genau im Layout drin hier nochmal das große Bild:

 
Zuletzt bearbeitet:
ne bitte kopier mir das xml rein ;)
 
Okay, Sorry :D Wusste nicht, dass der übrige Code in dem Fall relevant ist.

Code:
<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=".MainActivity" >

    <ImageView
        android:id="@+id/infospherelogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:contentDescription="@string/bla"
        android:src="@drawable/infosphere_logo" />
   
</RelativeLayout>

Allerdings hab ich noch nicht viel Ahnung von dem was das "Padding" oben bedeutet, so weit hab ich noch nicht gelesen. Vllt liegst ja daran :)

EDIT:
Auf einem von mir neu erstellten Layout hats aber auch nicht funktioniert.

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/test_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    
    
      <ImageView
        android:id="@+id/infospherelogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
  
        android:contentDescription="@string/bla"
        android:src="@drawable/infosphere_logo" />

</LinearLayout>
 
du hast paddingtop

das heißt es wird ein freier platz oben eingefügt. wenn das weg lässt, wird das bild weiter nach oben wandern.
 
Code:
<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"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/infospherelogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:contentDescription="@string/bla"
        android:src="@drawable/infosphere_logo" />
   
</RelativeLayout>

Sieht jetzt so aus, hab erstmal alle raus gemacht weil ich sie ja nicht brauche aber es sieht immer noch gleich aus und ist nicht weiter nach oben verschiebbar :/

EDIT:
Habs selbst hingekriegt durch Hinzufügen von folgendem. :) Danke trotzdem.
Code:
android:scaleType="fitStart"
warum auch immer das notwendig war :D
 
Zuletzt bearbeitet:
wie groß ist eigentlich deine grafik ?

vermute mal die ist rießig ?
 
1714x457 px
meinst du es könnte daran gelegen haben?
Weil obwohl ich das Problem gelöst ja interessiert mich schon warum es überhaupt da war.
 
ja das ist dann das problem

1700px breit - dein bildschirm hat weniger platz. android skaliert das schon und positiert es mittig. deshalb der rand oben.
 
Okay, dann kapier ich das jetzt :) vielen Dank :laugh:
 
Zurück
Oben Unten