1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Problem mit relativen Layoutgrößen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von druber, 01.10.2010.

  1. druber, 01.10.2010 #1
    druber

    druber Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    21.09.2010
    Hallo!

    Ich möchte ein Bild anzeigen, darüber einen Text legen und mehrere davon in einer Gallery anzeigen, dazu habe ich folgendens Layout:

    Code:
    <FrameLayout 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        xmlns:android="http://schemas.android.com/apk/res/android">
        <ImageView 
            android:id="@+id/image_swipe"
            android:src="@drawable/stub"
            android:scaleType="fitCenter"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"/>
        <TextView
            android:id="@+id/text_swipe"
            android:textSize="12sp"
            android:textColor="#000000"
            android:background="#ffffff"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:gravity="center_horizontal|bottom"/>
    </FrameLayout>
    
    Im Adapter von der Gallery habe ich dann folgenden Code:

    Code:
            public View getView(int position, View convertView, ViewGroup parent) {
                LayoutInflater inflater = (LayoutInflater)cont.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                
                View frameLayout = inflater.inflate(R.layout.frame, null);
    
                ImageView imgView = (ImageView)frameLayout.findViewById(R.id.image_swipe);
    
                imgView.setTag(data.get(position).getImageURLString());
                imageLoader.DisplayImage(data.get(position).getImageURLString(), parentActivity, imgView);
    
                imgView.setScaleType(ImageView.ScaleType.FIT_START);
                imgView.setBackgroundResource(GalItemBg);
    
                TextView textView = (TextView)frameLayout.findViewById(R.id.text_swipe);
                textView.setText(data.get(position).getTeaser());
                
                return frameLayout;
            }
    
    Mein Problem dabei ist, dass der Text immer oben angezeigt wird, weil der TextView einfach nicht so groß werden will, wie das darüberliegende FrameLayout.

    Ich verstehe es einfach nicht, weil ich habe ja "fill_parent" angegeben. Könnte der Fehler noch wo anders liegen?
     
  2. BenOtto, 02.10.2010 #2
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Beiträge:
    141
    Erhaltene Danke:
    15
    Registriert seit:
    30.08.2010
    Das ist ein scheinbar häufig gemachter Fehler:

    - Das Attribut gravity bestimmt immer wie die enthaltenen Element defaultmäßig ausgerichtet werden (Im Falle von TextView wo der Text innerhalb des Bereichs der TextView ausgerichtet wird)

    - Das Attribut layout_gravity bestimmt wo das Element selbst innerhalb seines Elternelements ausgerichtet wird (in deinem Beispiel wo deine TextView im FrameLayout angezeigt wird)

    Änder' mal gravity zu layout_gravity, dann sollte das gehen.
     

Diese Seite empfehlen