【问题标题】:Android Layout StructuringAndroid 布局结构
【发布时间】:2011-11-15 07:33:41
【问题描述】:

我想创建一个像下面这样的布局..

这是我遇到的 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>

我怎样才能在某些字符之后加上 .... 以及如何将时间放在右侧?

【问题讨论】:

    标签: android android-layout textview android-imageview


    【解决方案1】:

    要实现这种布局,您最好使用相对布局,它将在任何设备中正确呈现。这样的事情应该没问题。

    <?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>
    

    您可以对其进行编辑,并且可以非常轻松地实现您想要显示的结构。

    【讨论】:

    • 对不起。想我没有正确地问这个问题。我需要帮助来实现该布局。
    • 啊,我看看是不是这样,那么您需要使用更适合定位对象的相对布局。
    【解决方案2】:

    对于这种布局,最好使用带有水平方向的简单LinearLayout,以及带有信息的两个textView。

    要让点 (...) 您必须设置 ellipsize 并使用 weight 属性使名称的名称 textview 填充所有可用空间。 nameText 的 layout_weight=1 和 timeText 的 layout_weight=0。

    希望对你有帮助:)

    【讨论】:

    • 我补充说..但没有帮助..可能我仍然需要以某种方式构建应用程序以使其有效
    【解决方案3】:

    请找到下面的代码可能对你有帮助

     <?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>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 2012-10-20
    • 1970-01-01
    • 2012-09-24
    相关资源
    最近更新 更多