【发布时间】:2012-02-17 15:23:09
【问题描述】:
伙计们,我在 Tab-host 上遇到了不同的问题,我会用步骤清楚地解释。
1.我正在显示带有 6 个选项卡的选项卡主机。
2.单击第六个选项卡时,我正在显示由按钮组成的弹出窗口。直到这里一切正常。
3.在弹出窗口中单击按钮时。我需要显示另一个活动,但标签主机应该在每个屏幕的底部?
为了显示选项卡主机和弹出窗口,我使用以下代码。
private void setuptabs() {
// Adding the tabs to TabHost.
addTab("Balances", R.drawable.tab_search, BalancesActivity.class);
addTab("Orders", R.drawable.tab_search, OrdersActivity.class);
addTab("positions", R.drawable.tab_search, PositionsActivity.class);
addTab("Trade", R.drawable.tab_search, TradeActivity.class);
addTab("WatchList", R.drawable.tab_search, WatchlistActivity.class);
addTab("Chains", R.drawable.tab_search, ChainsActivity.class);
addTab("More", R.drawable.tab_search, MoreActivity.class);
tabHost.getTabWidget().getChildAt(6).setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
QuickActionView qa = QuickActionView.Builder(v);
// set the adapter
qa.setAdapter(new CustomAdapter(getApplicationContext()));
// set the number of columns ( setting -1 for auto )
qa.setNumColumns(1);
qa.setOnClickListener(new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(getBaseContext(), "Selected item: " + which,Toast.LENGTH_SHORT).show();
switch (which) {
case 0:
break;
case 1:
break;
default:
break;
}
}
});
// finally show the view
qa.show();
return false;
}
});
}
private void addTab(String labelId, int drawableId, Class<?> c) {
tabHost = getTabHost();
intent = new Intent(this, c);
spec = tabHost.newTabSpec("tab" + labelId);
View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);
// txtTitle will set the title in TabHost.
txtTitle = (TextView) tabIndicator.findViewById(R.id.txtTitles);
txtTitle.setText(labelId);
// imgTab will set the image in TabHost.
imgTab = (ImageView) tabIndicator.findViewById(R.id.imgTab);
imgTab.setImageResource(drawableId);
spec.setIndicator(tabIndicator);
spec.setContent(intent);
tabHost.addTab(spec);
// tabHost.getTabWidget().getChildAt(7).setVisibility(View.GONE);
System.out.println("Checking tabhost value::>"+tabHost.getChildCount());
}
请问各位,我怎么能做到这一点......
【问题讨论】:
-
您的问题到底是什么?问题是“标签主机应该在每个屏幕的底部”?
-
是的 tabhost 应该在每个屏幕的底部..