我正在Android中开发聊天应用程序,我想添加依赖于当前匹配用户的动态聊天标签,如下面的截图所示:
在屏幕截图中,聊天标签位于顶部,但我想要Chat Tabs at bottom
。现在我想在onCreate method
中开发逻辑以便
如果有三个匹配的用户,则创建3个标签
如果有四个匹配的用户,则同样创建4个选项卡..
我搜索了很多聊天标签,并找到了使用TabHost
创建聊天标签的方法..但也发现它已被弃用,不确定..另一种方法是在{{1}中设置聊天标签某处发现使用ActionBarSherlock
。我对聊天标签很困惑,该怎么用?
任何帮助将不胜感激。
答案 0 :(得分:1)
现在最新版本的android包含了ActionBarSherlock库。所以你可以直接在android中使用该库添加标签。
示例代码:
try
{
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// For each of the sections in the app, add a tab to the action bar.
actionBar.addTab(actionBar.newTab().setText(R.string.firsttab).setTabListener(this));
actionBar.addTab(actionBar.newTab().setText(R.string.second).setTabListener(this));
actionBar.addTab(actionBar.newTab().setText(R.string.third).setTabListener(this));
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_CUSTOM);
}
catch(Exception e)
{
e.printStackTrace();
}
答案 1 :(得分:1)
@SuppressWarnings("deprecation")
public class MainActivity extends TabActivity {
public static TabHost tabHost;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.tab_main);
// call addtab() how many times you need and pass tag and image resource id
}
private void addTab(String tag, int drawableId) {
tabHost = getTabHost();
TabHost.TabSpec spec = tabHost.newTabSpec(tag);
// tab_indicator layout contains only imageview. this is for fix image size, position
View tabIndicator = LayoutInflater.from(this).inflate(
R.layout.tab_indicator, getTabWidget(), false);
ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
icon.setImageResource(drawableId);
spec.setIndicator(tabIndicator);
tabHost.addTab(spec);
}
}
答案 2 :(得分:1)
我一直在使用ActionBarSherlock一段时间,但我现在已迁移到新的Android SDK 18 Action Bar Compat。您的项目看起来像是一个简单的操作栏选项卡实现,我看不出你为何应该开始使用ActionBarSherlock(或tabHost)。
Action Bar Compat非常类似于Action Bar Sherlock,它的优势在于它是Android V4支持库的一个组成部分(可与SDK 7兼容)。请参阅http://developer.android.com/tools/support-library/index.html中的“新v7 appcompat库”部分。
它还具有明确记录的优点。本指南详细说明了如何设置: http://developer.android.com/tools/support-library/setup.html
(特别注意“使用资源添加库”一节)
完成此操作后,您可以按照本指南设置支持操作栏: http://developer.android.com/guide/topics/ui/actionbar.html
“添加导航选项卡”部分提供了tabListener的明确示例以及如何添加选项卡。您需要对此代码(对于loop / if语句)进行一些小的调整,以确定要添加的选项卡数。我以前做过这个,它很简单。