2014-10-20 2 views
0

У меня есть 2 текстовых поля в моем списке, которые я хочу, чтобы один из них имел правый выровненный и другой центр выравнивания , но все они aligend left !!! мой ListView XML:Два текстовых поля в списке aligend left

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

    <TextView 
    android:layout_gravity="center" 
    android:id="@+id/tv_subject" 
    android:layout_weight="0.5" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"  
    android:textSize="20dp" 
    android:textStyle="bold" /> 

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

    <ImageView 
    android:id="@+id/iv_pic" 
    android:layout_gravity="left" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp" 
    android:contentDescription="ads"/> 

    <TextView 
    android:layout_gravity="right" 
    android:paddingRight="5dp" 
    android:layout_weight="0.5" 
    android:id="@+id/tv_details" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 
    </LinearLayout> 
    </LinearLayout> 

это большая проблема для меня, пожалуйста, помогите мне.

+0

Почему бы вам просто не использовать относительный макет? Затем вы можете вручную отрегулировать текст, где бы вы ни были. – SeahawksRdaBest

+0

Если вы не хотите использовать реалистичные макеты, вы должны добавить 2 панели с андроидом: layout_weight: 1, который разделен на 2 равных части пространства, где вам понадобятся блоки в каждой панели, в форме, в которой вы нуждаетесь, каждый из которых вы помещаете вы хотите – phipex

ответ

0

Я считаю, что если вы установили android:layout_width в "match_parent", вы должны получить эффект, который ищите.

Подумайте об этом так:

Ваше мнение всегда рисуются от верхнего левого угла, где они должны находиться в LinearLayout. Если ширина - wrap_content, она сделает ширину достаточно широкой, чтобы удерживать ваш контент, а затем выровняйте его по центру/справа от этой области. Поскольку область достаточно велика для хранения вашего контента, вы не видите разницы.

Если область вашего представления заполняет родительский элемент, он будет выровняться по ширине родителя, а не только по ширине вашего содержимого.

Alternative

Если это является неудовлетворительным, вы можете также использовать RelativeLayout вместо LinearLayout и установить layout_centerHorizontal и layout_alignParentRight истина взглядов, которые вы хотите переместить.

+0

hi, plz прочитайте мое сообщение для вашего ответа – user3404171

+0

Обычно ответы на вопросы/ответы должны быть в разделах комментариев. Дополнительные ответы считаются ответами на исходный вопрос. – emerssso

0

Я тестировал его и работал успешно, но когда я касаюсь строки в ListView, его цвет не изменяется, когда мой палец находится в строке, потому что ширина TextView равна Match_Parent.

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