布局结构无法显示android中的所有内容

时间:2014-02-16 23:24:51

标签: android android-layout textview imageview android-linearlayout

这是列表视图的自定义行视图,每行有三个内容,一个缩略图,一个名称和一个点。缩略图应该左对齐,而点应该对齐,名称是左边的填充,大约是缩略图的10 dp。

问题是,如果我遵循以下设计,并且名称太长,那么我看不出重点,如何解决?感谢

<?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="horizontal" >

    <ImageView
        android:id="@+id/profile_pic"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_marginLeft="20dp"
        android:layout_gravity="center_vertical|center"
        android:alpha="0.8"
        android:background="@android:color/darker_gray"/>

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:paddingLeft="10dp"
        android:textColor="@android:color/white"
        android:textSize="16sp" />

    <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/pts"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginRight="20dp"
        android:textColor="@android:color/white"
        android:textSize="16sp" />

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

对于ListView项目的布局,您可以按照此布局...

<?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="wrap_content"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/profile_pic"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_gravity="center_vertical|center"
        android:layout_marginLeft="20dip"
        android:alpha="0.8"
        android:background="@android:color/darker_gray" />

    <TextView
        android:id="@+id/name"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:ellipsize="end"
        android:singleLine="true"
        android:paddingLeft="10dip"
        android:text="Name"
        android:textColor="@android:color/black"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/pts"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="10dip"
        android:text="Point"
        android:textColor="@android:color/black"
        android:textSize="16sp" />

</LinearLayout>

答案 1 :(得分:1)

使用此

<?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="horizontal" >

<ImageView
    android:id="@+id/profile_pic"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_gravity="center_vertical|center"
    android:layout_marginLeft="20dp"
    android:alpha="0.8"
    android:background="@android:color/darker_gray" />

<TextView
    android:id="@+id/name"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_weight="0.6"
    android:paddingLeft="10dp"
    android:singleLine="true"
    android:textColor="@android:color/white"
    android:textSize="16sp" />

<TextView
    android:id="@+id/pts"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginRight="20dp"
    android:layout_weight=".4"
    android:singleLine="true"
    android:textColor="@android:color/white"
    android:textSize="16sp" />