聊天介面,首先是布局,先用tools下的製作9patch的工具製作兩張對話方塊,分別用作接收訊息的背景和傳送訊息的背景。activity_main.xml的布局檔案如下:
顯而易見,利用listview來顯示傳送的和接收的訊息,既然有了listview,所以還應該有乙個listview的item布局,item布局如下:
<?xml version="1.0" encoding="utf-8"?>
其中@drawable引用的就是我們製作的兩張對話方塊9patch。
既然是聊天介面,又是用listview來顯示,所以得新建乙個message的實體類,定義兩個屬性,content和type,並且進行封裝.
public class message
public string getcontent()
public void setcontent(string content)
public int gettype()
public void settype(int type)
}
接下來就是寫資料來源介面卡了,初學時listview一般都是和arrayadapter和******adapter,我一直用的都是更加靈活的自定義adapter。所以,新建乙個介面卡繼承baseadapter.
public class messageadapter extends baseadapter
public void additem(message msg)
public void removeitem(int position)
@override
public int getcount()
@override
public object getitem(int position)
@override
public long getitemid(int position)
@override
public view getview(int position, view convertview, viewgroup parent) else
// 如果是收到的訊息,則隱藏掉右邊的布局
if (list.get(position).gettype() == message.type_received) else if (list.get(position).gettype() == message.type_send)
return convertview;
} class viewholder
}
最後,開始在activity中編寫。
/**
* 聊天介面
* @author zcsolf
* */
public class mainactivity extends activity implements onclicklistener
/*** 初始化訊息,即模擬訊息
*/private void initmessage()
/*** 初始化元件
*/private void findview()
@override
public void onclick(view v)
break;
default:
break;
} }/**
* 生成上下文選單
*/@override
public void oncreatecontextmenu(contextmenu menu, view v,
contextmenuinfo menuinfo)
/*** 響應上下文選單
*/@override
public boolean oncontextitemselected(menuitem item)
return true;
}}
聊天介面實現
聊天介面是乙個listview,item是接受訊息介面和傳送訊息介面,list裡面的實體類有資訊內容和資訊型別 是傳送還是接收 adapter展示資料的時候,根據資訊型別隱藏或者顯示item的接受訊息介面或者傳送訊息介面。當傳送訊息的時候,list新增乙個實體類,adapter呼叫adapter.n...
簡單聊天介面
1.在main.storyboard中建立控制器和控制項,新增約束,設定textfield 如圖 2.為tableview在控制器上新增delegate datasource,為textfield新增delegate 3.在viewcontroller.m中新增 inte ce viewcontro...
Python 聊天介面編寫
import osfrom tkinter import import time os.chdir e actdata defmain def sendmsg 傳送訊息 strmsg 我 time.strftime y m d h m s time.localtime n print strmsg ...