2015-06-26 2 views
-1

По какой-то причине TextView не попадает вправо (конец) ImageView. См. Изображение аккумулятора и его проценты.Невозможно сгладить TextView toRightOf ImageView

ток:

enter image description here

Ожидаемое:

enter image description here

Код:

... 
<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1.3"> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:scaleType="fitStart" 
     android:id="@+id/battery_level" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_toRightOf="@id/battery_level" 
     android:layout_toEndOf="@id/battery_level" 
     android:layout_alignEnd="@id/battery_level" 
     android:layout_alignRight="@id/battery_level" 
     android:layout_marginLeft="6dp" 
     android:layout_marginStart="6dp" 
     android:id="@+id/battery_level_percents" 
     style="@style/Blue_TextViewStyle" 
     /> 
</RelativeLayout> 
... 

Любая идея, что вызывает это поведение?


EDIT: Если я жёстко источник изображения ImageView и текста в TextView то это выглядит как в режиме конструктора:

enter image description here

код этого:

android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:scaleType="fitStart" 

Кажется, что e даже wrap_content не работает.

+0

Изменить 'RelativeLayout' ширину в' wrap_content' и удалите 'layout_weight' – Yugesh

+0

И вы можете проверить ваш' Blue_TextViewStyle'. Возможно, есть некоторые атрибуты, которые вызывают ваше поведение. – rom4ek

+0

Похоже, что RelativeLayout находится внутри LinearLayout .. wat s ориентация LinearLayout ?? –

ответ

1

Попробуйте добавить android:adjustViewBounds="true" в ваш ImageView.

Границы могут быть большими, если исходное изображение было больше.

+0

Спасибо большое! Вот и все! По некоторым причинам границы изображения были неправильными. – AnZ

0

Используйте это:

<ImageView 
    android:id="@+id/battery_level" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:scaleType="fitStart" 
    android:src="@drawable/ic_action_next_item" /> 

<TextView 
    android:id="@+id/textView3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/battery_level" 
    android:layout_alignParentTop="true" 
    android:layout_toEndOf="@+id/battery_level" 
    android:layout_toRightOf="@+id/battery_level" 
    android:text="New Text" /> 

0
<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

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

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_toRightOf="@+id/imageView1" 
     android:text="TextView" /> 
</RelativeLayout> 
+0

Вы только что удалили параметр layout_weight и отдых в основном тот же. Мне нужен этот вес. Никаких изменений, кроме того, что структура элементов пользовательского интерфейса была сломана – AnZ

+0

, вы не можете использовать layout_weight в относительной компоновке !!! и я изменяю ширину и высоту вашего макета на wrap_content, android: layout_toRightOf на ваш текст, и вы используете Fill_parent ... –

+0

Почему я не могу использовать его? Он отлично работает без ошибок. Его необходимо настроить вес внутри корневого макета. – AnZ

0

Вы можете использовать Like This.

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/battery_level" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleType="fitStart" /> 

    <TextView 
     android:id="@+id/battery_level_percents" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" /> 
</LinearLayout> 
+0

Это не сработало. И мне нужен этот 'layout_weight', поскольку на нем основана вся структура пользовательского интерфейса. – AnZ

+0

Покажите мне свой полный макет, который вам нужен ???????? –

0

Попробуйте это:

<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" > 

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

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:text="TextView" /> 
</RelativeLayout> 
Смежные вопросы