2014-07-30 4 views
0

Я хочу, чтобы маленькая иконка в моей пользовательской кнопке была выровнена влево, а оба текстовых изображения были сосредоточены в относительном представлении. Как я могу это сделать? Как вы можете попытаться центрировать текст горизонтально, и я пытаюсь выровнять значок слева, но он не работает.изображение слева и текст в центре

<TableRow 
     android:gravity="center_horizontal" 
     android:layout_marginTop="10dp"> 
     <RelativeLayout 
      android:clickable="true" 
      android:id="@+id/Imagesbtn" 
      android:background="@drawable/MainButtonLayout" 
      android:layout_height="100dp" 
      android:layout_width="wrap_content" 
      android:layout_marginBottom="20dp" 
      android:gravity="center_horizontal" 
      android:paddingTop="20dp" 
      android:paddingBottom="20dp"> 
      <ImageView 
       android:id="@+id/IconImage" 
       android:layout_centerVertical="true" 
       android:src="@drawable/ic_action_pictureblack" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" /> 
      <TextView 
       android:id="@+id/largeTextImages" 
       android:text="Images" 
       android:layout_toRightOf="@id/IconImage" 
       android:layout_width="wrap_content" 
       android:gravity="center_horizontal" 
       android:textSize="30dp" 
       android:layout_marginLeft="30dp" 
       android:textColor="#000000" 
       android:layout_height="wrap_content" /> 
      <TextView 
       android:id="@+id/smallTextImages" 
       android:text="Acces images" 
       android:layout_below="@id/largeTextImages" 
       android:textSize="10dp" 
       android:layout_marginLeft="100dp" 
       android:gravity="center_horizontal" 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:textColor="#000000" /> 
     </RelativeLayout> 
    </TableRow> 

Это MainButtonLayout:

<?xml version="1.0" encoding="UTF-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF"/> 
    <!--<stroke android:width="400dp" android:color="#B1BCBE" />--> 
    <corners android:radius="4dip"/> 
    <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 

    </shape> 

enter image description here

Я хочу, чтобы текст, который будет выровнен по центру, так что центр текста прямо на красной линии, и я хочу, чтобы все иконки должны быть расположены по желтой линии. ? Вы получите его :) Вот что я получаю: enter image description here

+0

Это весь код файла макета? – GrIsHu

+0

noo, есть пара строк в tablerow и есть relativelayout вне его –

+2

@ DanielGustafsson, пожалуйста, измените имя файла с возможностью рисования на mainbuttonlayout, поскольку drawables не позволяют прописные буквы. Я пробовал ваш код, и он отлично работает –

ответ

1

Если тусклый текст будет выровнен по центру по горизонтали, попробуйте следующее:

<RelativeLayout 
    android:id="@+id/Imagesbtn" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="20dp" 
    android:background="@drawable/mainbuttonlayout" 
    android:clickable="true" 
    android:paddingBottom="20dp" 
    android:paddingTop="20dp" > 

    <ImageView 
     android:id="@+id/IconImage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:src="@drawable/icon" /> 

    <TextView 
     android:id="@+id/largeTextImages" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="30dp" 
     android:layout_toRightOf="@id/IconImage" 
     android:gravity="center_horizontal" 
     android:text="Images" 
     android:textColor="#000000" 
     android:textSize="30dp" /> 

    <TextView 
     android:id="@+id/smallTextImages" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/largeTextImages" 
     android:layout_marginLeft="30dp" 
     android:layout_toRightOf="@id/IconImage" 
     android:gravity="center_horizontal" 
     android:text="Acces images" 
     android:textColor="#000000" 
     android:textSize="10dp" /> 
</RelativeLayout> 

Пример

enter image description here

EDIT1

<ImageView 
     android:id="@+id/IconImage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_toLeftOf="@id/largeTextImages" 
     android:src="@drawable/ic_launcher" /> 

    <TextView 
     android:id="@+id/largeTextImages" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="30dp" 
     android:layout_centerHorizontal="true" 
     android:text="Images" 
     android:textColor="#000000" 
     android:textSize="30dp" /> 

    <TextView 
     android:id="@+id/smallTextImages" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/largeTextImages" 
     android:layout_marginLeft="30dp" 
     android:gravity="center_horizontal" 
     android:layout_centerHorizontal="true" 
     android:text="Acces images" 
     android:textColor="#000000" 
     android:textSize="10dp" /> 
</RelativeLayout> 

Изображение:

enter image description here

+0

Значок, где я хочу его, но я хочу, чтобы текст был центрирован в relativelayout, чтобы он находился в середине вашего примера. –

+0

@DanielGustafsson проверить мои измененные фотографии –

+0

Также вы можете удалить андроид: layout_toLeftOf = "@ id/largeTextImages" , чтобы установить значок справа –

0

Удалите TableRow из вашего кода. Если вы не использовали TableLayout, то также не нужно TableRow.

Попробуйте ниже код:

<RelativeLayout 
     android:id="@+id/Imagesbtn" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="20dp" 
     android:background="@drawable/mainbuttonlayout" 
     android:clickable="true" 
     android:paddingBottom="20dp" 
     android:paddingTop="20dp" > 

     <ImageView 
      android:id="@+id/IconImage" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:src="@drawable/icon" /> 

     <TextView 
      android:id="@+id/largeTextImages" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="30dp" 
      android:layout_toRightOf="@id/IconImage" 
      android:gravity="center_horizontal" 
      android:text="Images" 
      android:textColor="#000000" 
      android:textSize="30dp" /> 

     <TextView 
      android:id="@+id/smallTextImages" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/largeTextImages" 
      android:layout_marginLeft="30dp" 
      android:layout_toRightOf="@id/IconImage" 
      android:gravity="center_horizontal" 
      android:text="Acces images" 
      android:textColor="#000000" 
      android:textSize="10dp" /> 
    </RelativeLayout> 

enter image description here

+0

Im using tablelayout Я просто вырезал его из своего примера, потому что это было так много кода. –

Смежные вопросы