2017-05-21 4 views
-1

ImageView 바로 아래에 TextView를 정렬하려고했지만 작동하지 않습니다.
ImageView의 오른쪽에 맞 춥니 다.GridView에서 ImageView 바로 아래에 TextView를 정렬하는 방법은 무엇입니까?

이것은 내가 한 행동입니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp" > 

    <ImageView 
     android:id="@+id/grid_image" 
     android:layout_width="70dp" 
     android:layout_height="70dp"> 
    </ImageView> 

    <TextView 
     android:id="@+id/grid_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:layout_marginTop="15dp" 
     android:singleLine="false" 
     android:textSize="12sp" > 
    </TextView> 

</LinearLayout> 
+0

시도 당신은 이미지 뷰와있는 LinearLayout 필요하지 않습니다 선형 레이아웃 –

+1

에 수직 방향을 제공하기 . 이미지를 TextView 내부에 ** 복합 드로어 블 **로 저장합니다. 보기 및 ViewGroups (및 중첩 된 것들!)에 저장하면 앱 성능이 향상됩니다. –

답변

0

돌출는 ImageView에서 TextView를 표시하도록 LinearLayout에 속성 android:orientation="vertical"을 추가합니다.

center 위치에 TextView을 표시하려면 android:layout_gravity="center"TextView에 추가하십시오. 여기

는 작업 코드 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp" 
    android:orientation="vertical"> 

    <ImageView 
     android:id="@+id/grid_image" 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:src="@mipmap/ic_launcher"> 
    </ImageView> 

    <TextView 
     android:id="@+id/grid_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginTop="15dp" 
     android:singleLine="false" 
     android:textSize="12sp" 
     android:text="Android"> 
    </TextView> 

</LinearLayout> 

출력 :

enter image description here

0

당신이 할 수있는 경우 LinearLayoutRelativeLayout 다음 텍스트보기

<TextView 
    android:layout_below="@+id/grid_image" 
    android:id="@+id/grid_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:layout_marginTop="15dp" 
    android:singleLine="false" 
    android:textSize="12sp" > 
</TextView> 

에 내가이 일을한다고 생각합니다.

1

ImageView 및 LinearLayout이 필요하지 않습니다.
이미지를 텍스트 뷰 내에서 컴파운드 드로어으로 넣습니다.

보기 및보기 그룹 (및 중첩 된 것들!)에서 저장하면 앱 성능이 향상됩니다. 훨씬 가벼운 버전으로 전체 레이아웃을 교체하는 방법을

:

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/grid_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp" 
    android:drawableTop="@drawable/your_image_here" 
    android:gravity="center" 
    android:layout_marginTop="15dp" 
    android:singleLine="false" 
    android:textSize="12sp" > 
</TextView> 

여기에 하나의 텍스트 뷰는 (위쪽) 이미지 (하단)의 텍스트를 모두 보유하고 있습니다.
다른 유용한 뷰/뷰 그룹을 사용할 필요가 없습니다. 따라서 GridView 속도가 빨라집니다.

+0

'drawableTop' 여기 피벗 역할을 생성 중입니다. –

관련 문제