2012-10-04 19 views
17

Bazı görüntü düğmelerim var ve bunların her biri karşılık gelen bir metin görünümündeyim, bu metin görüntülerini karşılık gelen resim görünümünün merkezine hizalamak istiyorum. Uygulamanın çekmece ...android - bir metin görünümünü başka bir görünümün ortasına hizalayın

!-----! 
!icon ! 
!_____! 
app name 

bu, ben bir RelativeLayout

<ImageButton 
    android:id="@+id/blog_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/logo_img" 
    android:layout_marginLeft="50dp" 
    android:layout_marginTop="51dp" 
    android:background="@null" 
    android:contentDescription="@string/blog_desc" 
    android:src="@drawable/blog" /> 

<TextView 
    android:id="@+id/blog_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/blog_button" 
    android:layout_below="@+id/blog_button" 
    android:layout_marginTop="8dp" 
    android:text="@string/blog_desc" /> 

cevap

28

Wrap benim kod kullanıyorum olduğunu bir LinearLayout ve merkez çocuklarda, şöyle:

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/logo_img" 
    android:gravity="center_horizontal" 
    android:orientation="vertical"> 

    <ImageButton 
     android:id="@+id/blog_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@null" 
     android:contentDescription="@string/blog_desc" 
     android:src="@drawable/blog" /> 

    <TextView 
     android:id="@+id/blog_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="@string/blog_desc" /> 
</LinearLayout> 
+0

sayesinde elde edilebilir şeffaf olabiliyorsa !! Bunu nasıl düşünmedim? bir sublayout ... ben hala öğreniyorum ama şu anda aptal hissediyorum ...:/ – Hairo

+3

Jason, gelecekteki referans için, ['FrameLayout'] (http://developer.android.com/reference/android/widget/ FrameLayout.html) genellikle birden fazla çocuk tutmak için kullanılmamalıdır. Bu durumda bir "LinearLayout" en iyi ikame olurdu. – Eric

+0

Ben zaten bir "FrameLayout" kullanmayı planlama değildi, ama açıklama için teşekkürler. – Hairo

14

Eski gönderi ancak bu yardımcı olabiliyorsa, ek bir kap eklemem gerektiğini düşünüyorum.

<ImageButton 
    android:id="@+id/blog_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/logo_img" 
    android:layout_marginLeft="50dp" 
    android:layout_marginTop="51dp" 
    android:background="@null" 
    android:contentDescription="@string/blog_desc" 
    android:src="@drawable/blog" /> 

<TextView 
    android:id="@+id/blog_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/blog_button" 
    android:layout_alignRight="@+id/blog_button" 
    android:layout_below="@+id/blog_button" 
    android:gravity="center_horizontal" 
    android:layout_marginTop="8dp" 
    android:layout_marginLeft="-20dp" 
    android:layout_marginRight="-20dp" 
    android:text="@string/blog_desc" /> 

Bu benim için çalışıyor.

1

bir TextView'un sonra bu tek Görünüm

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Test string" 
    android:drawableTop="@android:drawable/btn_star" 
    android:background="@android:color/transparent" 
    android:textSize="10sp" 
    /> 
İlgili konular