-1

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

расположение:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<TableLayout 
    android:id="@+id/tl_MainTable" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:orientation="vertical"> 

    <TableRow 
     android:id="@+id/tr_Logo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <ImageView 
      android:id="@+id/iv_Logo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/ic_launcher"/> 
    </TableRow> 
    <TableRow 
     android:id="@+id/tr_Title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true"> 
     <TextView 
      android:id="@+id/tv_Title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Discovering Neigbouring Devices" 
      android:/> 
    </TableRow> 

</TableLayout> 

enter image description here

+0

Вы должны действительно прочитать о макетах, которые используете, иначе вы не сможете понять, почему ui выглядит так, как обычно. – JoxTraex

+0

@rmaik try setadjustviewbounds атрибут как true на imageview – Vishwa

+0

Вы сначала изучаете основы Android, а затем начинаете кодирование, stackoverflow не изучает сайт –

ответ

1

У вас так широкий логотип, потому что вы используете TableRow.

Попробуйте добавить android:layout_weight="1" для ImageView.

+0

есть ли способ ограничить его размер – rmaik

+0

@rmaik см. Обновленный ответ. –

1

Вам необходимо использовать RelativeLayout или LinearLayouts. TableLayout не подходит для этого.

Это пример:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity"> 


<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:background="@color/material_deep_teal_500"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageView" 
     android:src="@android:drawable/sym_def_app_icon" 
     android:layout_weight="1" /> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:text="LOGONAME" 
     android:id="@+id/textView" 
     android:layout_weight="8" 
     android:gravity="center_vertical" 
     android:paddingLeft="@dimen/abc_action_bar_overflow_padding_end_material" /> 
</LinearLayout> 

enter image description here

+0

спасибо за ответ ур. Я попробовал андроид: gravity = "center_vertical" в своем tablelayout, чтобы увидеть, будет ли он работать нормально или нет, но текст, все еще находящийся в своем положении, не перемещается в CenterVertica для макета TableRow ... любая идея, почему это hapenning ?? thenk you – rmaik

+0

TableLayout - ваша проблема, вы можете копировать только часть моего кода внутри «LinearLayout», вставляя его. TableLayout имеет другие цели. – MAOL

+0

Я пробовал ваш ответ, но я получаю предупреждение: линейный или относительный макет бесполезен – rmaik

2

Прежде всего использовать android:src вместо android:background

Итак, наконец, ваш ImageView

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView" 
    android:src="@android:drawable/sym_def_app_icon" 
    android:layout_weight="1" 
    android:adjustViewBounds="true"/> 

FYI: Использование Линейный Макет Вместо Макет таблицы.