2014-05-04 181 views
0

我在想如何更改listview項目的背景顏色。 假設我正在製作一個聊天應用程序,這個聊天應用程序將顯示發送者和接收者的消息。我想知道是否可以根據發送者的個人信息來更改每條消息的背景圖片。如果郵件是從我發送的,那麼它會有不同的背景,如果收到。以編程方式更改列表視圖項目背景

回答

0

是的,這是可能的。實施您自己的ListAdapter並相應地實施getView()方法。

0

編輯在Android平臺列表視圖中的每一行的辦法是:

1-定義你想要的佈局一行作爲XML佈局文件 - 例如,你的行可以包含任意數量的UI組件一樣的TextView,EditText上的,ImageView,...

2-創建一個名爲[yourListAdapter]的類 - 該類通常擴展ListAdapter,Array Adapter,BaseArrayAdapter ....無論選擇什麼類繼承,您都應該實現getView()方法。在此方法中,你膨脹您剛剛在步驟1中創建並設置任何數量的像字體,背景屬性的佈局,....

0
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    MessageEntity item = (MessageEntity) getItem(position); 
    CollectHolder holder = null; 
     String sender = item.getSender(); 
     String userId = Data.getUserData().getMid(); 
     if (!sender.equals(userId)) { 
      convertView = mInflater 
        .inflate(R.layout.adapter_msg_left, null); 
     } else { 
      convertView = mInflater.inflate(R.layout.adapter_msg_right, 
        null); 
     } 
    holder = new CollectHolder(convertView); 
    convertView.setTag(holder); 
    fillData(holder, item, position); 
    return convertView; 
} 

R.layout.adapter_msg_left和R.layout.adapter_msg_right是不同背景 。

相關問題