0

레이아웃을 작동시키기가 힘들었지 만, 화면의 이미지와 일치시키기 위해 제목을 2 개의 ImageButton 객체로 가져 오는 것을 제외하고는 거의 비슷합니다. ImageButtons의 제목이 이미지 오른쪽에 있어야합니다.LinearLayout에서 TextView (제목)를 가져 와서 해당 ImageButton 객체와 일치시키는 방법은 무엇입니까?

시각화하는 것이 훨씬 쉽습니다. 아래 사진은 두 가지입니다. 첫 번째는 현재 상황이 어떻게 보이는지, 두 번째는 내가 바라는 방식입니다. 주요 피스 조각의 배경에 색칠을 했으므로 xml 위젯을 장치에 표시된 것과 쉽게 연결할 수 있습니다. 일단 물건을 얻으면 배경 속성을 지울뿐입니다.

어떤 일들이 지금과 같이 :

enter image description here

나는처럼 보이는 물건을 필요한 것은. 두 개의 버튼 이미지의 오른쪽에있는 텍스트의 정렬을 주목하라 :

enter image description here

은 XML 레이아웃 :

<LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight=".35" 
     android:background="@color/LightGreen" 
     > 

     <Space 
      android:layout_width="match_parent" 
      android:layout_weight=".2" 
      android:layout_height="0dp"/> 

     <ImageView 
      android:id="@+id/imgViewLogo" 
      android:src="@drawable/logo" 
      android:layout_margin="10dp" 
      android:layout_width="90dp" 
      android:layout_height="0dp" 
      android:gravity="center" 
      android:layout_gravity="center_horizontal" 
      android:adjustViewBounds="true" 
      android:scaleType="fitCenter" 
      android:layout_weight=".55" 
      /> 

     <Space 
      android:layout_width="match_parent" 
      android:layout_height="10dp"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="Temporary Title for Logo" 
      android:id="@+id/tvAILLogo" 
      android:layout_margin="2dp" 
      android:textSize="@dimen/font_size22" 
      android:textStyle="bold" 
      android:gravity="center" 
      android:layout_gravity="center_horizontal" 
      android:layout_weight=".25" 
      /> 

    </LinearLayout> 

    <Space 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight=".1" 
     /> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight=".4" 
     > 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight=".5" 
      android:background="@color/LightCoral" 
      > 

      <ImageButton 
       android:id="@+id/imgBtn1" 
       android:src="@drawable/imgbtn1" 
       android:layout_width="90dp" 
       android:layout_height="95dp" 
       android:background="@null" 
       android:layout_gravity="right" 
       android:adjustViewBounds="true" 
       android:scaleType="fitCenter" 
       /> 

      <Space 
       android:layout_width="match_parent" 
       android:layout_height="15dp" 
       /> 

      <ImageButton 
       android:id="@+id/imgBtn2" 
       android:src="@drawable/imgbtn2" 
       android:layout_width="90dp" 
       android:layout_height="95dp" 
       android:background="@null" 
       android:layout_gravity="right" 
       android:adjustViewBounds="true" 
       android:scaleType="fitCenter" 
       /> 

     </LinearLayout> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight=".5" 
      android:background="@color/LightYellow" 
      > 

      <TextView 
       android:id="@+id/tvGradeAssessment" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:text="Title1" 
       android:textColor="@color/white" 
       android:textSize="@dimen/font_size24" 
       android:paddingLeft="10dp" 
       android:layout_gravity="left" 
       android:background="@color/red" 
       /> 

      <Space 
       android:layout_width="match_parent" 
       android:layout_height="15dp" 
       /> 

      <TextView 
       android:id="@+id/tvPrivateData" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:text="Title2" 
       android:textColor="@color/white" 
       android:textSize="@dimen/font_size24" 
       android:paddingLeft="10dp" 
       android:background="@color/green" 
       android:layout_gravity="left" 
       /> 

     </LinearLayout> 

    </LinearLayout> 

    <!-- filler --> 
    <Space 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight=".05" 
     /> 

    <TextView 
     android:id="@+id/tvVersionNumber" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:text="[Version number]" 
     android:layout_gravity="bottom" 
     android:paddingLeft="15dp" 
     android:layout_weight=".1" 
     android:textSize="20sp" 
     android:background="@color/LightGrey" 
     /> 


</LinearLayout> 

답변

1

설정과 일치하기 위해 android:layout_height="95dp"에있는 텍스트 뷰의 높이 ImageView의 높이를 설정하고 android:gravity="center_vertical"

IMHO 다른 유형의 레이아웃으로 시도해야합니다. 너는 너무 많은 둥지가 있습니다. 보테 텍스트 뷰에 대한 XML 아래 에드 LinearLayout

+0

Ognian - 모든 곳에서 높은 끗. 그게 바로 제가 찾던 것입니다. 내가 직접 알아 냈 으면 좋겠어. 감사. – Alyoshak

0

사용 (제목 하나, 둘)

android:text="Title1" 
    android:layout_weight=".5f" 
    android:gravity="left|center_vertical" 

android:text="Title2" 
    android:layout_weight=".5f" 
    android:gravity="left|center_vertical"`