1

這是一個listview的自定義行視圖,每行有三個內容,一個縮略圖,一個名稱和一個點。縮略圖應該左對齊,而點應該正確對齊,名稱是填充左邊,縮略圖的10 dp左右。佈局結構無法顯示android中的所有內容

問題是,如果我按照下面的設計,名稱太長,那麼我看不到點,如何解決它?感謝

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

那麼你喜歡什麼樣的情況發生?你想要名稱被截斷嗎?你想把它換成多行嗎?您是否願意包含當前行爲的屏幕截圖,以便更容易理解錯誤? – NasaGeek

+0

Perfer可以包裝成多行,謝謝 – user782104

回答

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> 
+0

謝謝,但現在的重點在不同的路線。它應該在@ + id/name的右側和同一行,也應該對齊父權 – user782104

+1

然後你想'ellipsize''TextView' ID爲'@ + id/name'?並修復了那個'TextView'的長度? –

+0

是的,修剪額外的數據是可以的,如果它基於屏幕寬度修剪會更好。 – user782104

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" />