Android Layout Структурирование - PullRequest
0 голосов
/ 15 ноября 2011

Я хочу создать макет, как показано ниже ..

enter image description here

Это тот XML, с которым я столкнулся

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/display_photo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

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

            <TextView
                android:id="@+id/username"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ellipsize="end"
                android:singleLine="true"
                android:text="Username"
                android:textColor="#000000" />

            <TextView
                android:id="@+id/timestamp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0"
                android:singleLine="true"
                android:text="2 hours ago"
                android:textColor="#000000" />
        </LinearLayout>

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

            <TextView
                android:id="@+id/location"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="Location"
                android:textColor="#000000" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

Как я могу закончить текст с .... после определенных символов ... и как разместить время на правой стороне?

Ответы [ 3 ]

2 голосов
/ 15 ноября 2011

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

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativeLayout1"
android:layout_width="fill_parent" android:gravity="center"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#FFFFFF">   
<ImageView android:layout_height="100px" android:id="@+id/deal_image"
    android:layout_width="120px" android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"></ImageView>
<TextView android:id="@+id/deal_description"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/deal_image" android:layout_marginLeft="5dip"
    android:padding="2dp" android:textColor="#000000" />
<TextView android:id="@+id/deal_time" android:layout_height="wrap_content"
    android:layout_width="120px" android:padding="2dp"
    android:layout_below="@+id/deal_image" android:textColor="#FFFFFF"
    android:background="#13ADDF" android:textSize="12dip"></TextView>

<TextView android:id="@+id/real_price" android:layout_height="wrap_content"
    android:layout_width="120px" android:padding="2dp"
    android:layout_below="@id/deal_time" android:textColor="#FFFFFF"
    android:background="#13ADDF" android:textSize="12dip"></TextView>
<TextView android:id="@+id/deal_price" android:layout_height="wrap_content"
    android:layout_width="fill_parent" android:padding="2dp"
    android:background="#FFFFFF" android:layout_toRightOf="@id/real_price"
    android:layout_toLeftOf="@id/buy_button" android:textStyle="bold"
    android:textColor="#13ADDF" android:textSize="15dip"
    android:layout_below="@id/deal_description" android:gravity="center"
    android:layout_alignParentBottom="true" android:layout_alignBottom="@id/buy_button"></TextView>


</RelativeLayout>

Вы можете отредактировать это и получить структуру, которую выхочу отобразить довольно легко.

0 голосов
/ 15 ноября 2011

Пожалуйста, найдите ниже код может быть полезным для вас

 <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
            <RelativeLayout android:id="@+id/relativeLayout1" android:layout_height="wrap_content" android:layout_width="fill_parent">
                <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1" android:layout_alignParentLeft="true" android:background="@drawable/main_prf"></ImageView>
                <LinearLayout android:layout_height="wrap_content" android:layout_toRightOf="@+id/imageView1" android:layout_width="wrap_content" android:id="@+id/linearLayout2" android:orientation="vertical" android:layout_centerVertical="true">
                    <RelativeLayout android:layout_height="fill_parent" android:layout_width="wrap_content" android:id="@+id/relativeLayout2">
                        <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="TextView" android:id="@+id/textView1" android:layout_toLeftOf="@+id/textView4" android:layout_alignParentLeft="true"></TextView>
                        <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="TextView" android:id="@+id/textView4" android:layout_alignParentRight="true"></TextView>
                    </RelativeLayout>
                    <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
                    <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
                </LinearLayout>
            </RelativeLayout>

        </LinearLayout>

layout file

0 голосов
/ 15 ноября 2011

Для такого типа макетов лучше всего использовать простую LinearLayout с горизонтальным направлением и два textView с информацией.

Чтобы иметь точки (...), вы должны установить ellipsize и чтобы текстовое представление имени заполняло все доступное пространство, используя атрибут веса. NameText имеет layout_weight = 1, а timeText - layout_weight = 0.

Надеюсь, это поможет:)

...