我使用ActionBarSherlock提供预蜂窝设备为其他动作。
我的活动有四个片段,即1,用户2,聊天3.视频4.外,看到的图像
我已经使用的ActionBar下面的代码创建: -
actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setTitle("Meeting");
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowCustomEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
/* Set Custom view */
ActionBar.Tab tab = actionBar.newTab();
// tab.setText("Meeting Users");
tab.setIcon(R.drawable.users);
tab.setTabListener(this);
actionBar.addTab(tab);
tab = actionBar.newTab();
// tab.setText("Chat");
tab.setIcon(R.drawable.chat);
tab.setTabListener(this);
actionBar.addTab(tab);
tab = actionBar.newTab();
// tab.setText("Video");
tab.setIcon(R.drawable.video_call);
tab.setTabListener(this);
tab.select();
actionBar.addTab(tab);
tab = actionBar.newTab();
// tab.setText("Extra");
tab.setIcon(R.drawable.extra);
tab.setTabListener(this);
actionBar.addTab(tab);
我希望借助这些标签的东西,例如绘制和/或眨眼聊天标签,每当聊天消息到达,用户是一些其他的选项卡上。
我怎样才能做到这一点 ? 请帮忙。
使用自定义视图的标签
ActionBar.Tab tab = getSupportActionBar().newTab();
tab.setCustomView(R.layout.custom_tab_view);
然后你就可以得到你的自定义布局的意见,使闪烁
这是我如何解决我的问题,希望它可以成为有用的人太多别的....
首先,我通过扩展的ImageView创建CutomImageView
package com.myexample.newsessionwindowsrbrdemo;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.renderscript.Font.Style;
import android.widget.ImageView;
public class CustomImageView extends ImageView {
private int notificationCount;
/**
* @param context
*/
public CustomImageView(Context context) {
super(context);
notificationCount = 0;
}
public synchronized void incrementNotification() {
notificationCount--;
this.invalidate();
}
public synchronized void decrementNotification() {
notificationCount++;
this.invalidate();
}
/**
* @return the notificationCount
*/
public synchronized int getNotificationCount() {
return notificationCount;
}
/**
* @param notificationCount
* the notificationCount to set
*/
public synchronized void setNotificationCount(int notificationCount) {
this.notificationCount = notificationCount;
this.invalidate();
}
/*
* (non-Javadoc)
*
* @see android.widget.ImageView#onDraw(android.graphics.Canvas)
*/
@Override
protected void onDraw(Canvas canvas) {
System.out.println("OnDraw is called");
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.FILL);
paint.setFakeBoldText(true);
paint.setTextSize(15);
canvas.drawText(String.valueOf(notificationCount), 15, 20, paint);
}
}
然后,在创建标签,我用这个形象
/ *设置自定义视图* /
mView = new CustomImageView(this);
mView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
mView.setBackgroundResource(R.drawable.users);
ActionBar.Tab tab = actionBar.newTab();
tab.setCustomView(mView);
tab.setTabListener(this);
actionBar.addTab(tab);
现在,每当更改通知我称之为递增/递减或CustomImageView和新通知的setter方法显示在图像上..
建议,以改善该解决方案是真正欢迎...