طراحی لایه های محیط چت نوشتاری
سلام من دارم یه صفحه گفتوگو طراحی میکنم حالا میخوام وقتی کاربر اول پیام اول میفرسه بیاد سمت چپ کاربر دوم بیاد راست فک کنم در کد زیر گویا باشه
من از EditText واسه نمایش گفتوگو استفاده کردم حالا چجور بگم اگه کاربر اول بود message بره راست اگه کاربر دوم بود message که فرستاده بره سمت چپ؟خواهشا کمک کنید
public void appendToMessageHistory(String username, String message) {
if (username != null && message != null) {
if(friend.userName.equals(username))
{
messageHistoryText.append(username + "\n");
messageHistoryText.append(message + "\n");
}
else
{
messageHistoryText.append(username + "\n") ;
اmessageHistoryText.append(message + "\n");
}
}
}
به نظر میاد شما از 9patch برای نمایش حباب های محتوا استفاده کردید ، پس کار خیلی سادست !
برای پیام هایی که از طرف کاربر یک هست ، بک گراند رو بزارید A.9.png برای کاربر دوم بزارید B.9.png به این ترتیب جهت و رنگ پیام های هر شخص با شخص دیگه متفاوت میشه
اما در مورد پیاده سازی فکر کنم بهترین روش برای طراحی این صفحه یک لیست ویو باشه ، هر ایتم لیست ویو میتونه شمامل چیز های زیادی مثل زمان تحویل و خوانده شده | نشده باشه و..
برای ست کردن اون 9patch روی ایتم لیست ویو هم کافیه اول TextView مورد نظر رو از Item لیست ویو FindViewById کنید ، بعد هم خیلی راحت با setBackGroundDrawable تصویر پس زمینه رو ست کنید !
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .