【发布时间】:2014-02-18 23:56:20
【问题描述】:
使用动作栏选项卡时,当标签内容对于显示器太大时,它们会显示为“堆叠”。当我对选项卡内容使用自定义视图时会出现问题,它会导致所选选项卡不会显示在下拉列表中,并且一旦选择了选项卡,下拉列表就会消失,并且会出现小而空的选项卡。
这是下拉列表的截图,在选择一个项目之前:(注意选项卡的内容不显示,即使选项卡被选中)
另外,选择item后,标签不再堆叠,标签内容为空:
这是我的代码,(请注意,我使用选项卡的自定义视图只是为了演示问题)
public class ExampleActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final TextView selectedTabText = new TextView(this);
setContentView(selectedTabText);
ActionBar.TabListener listener = new ActionBar.TabListener() {
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
TextView customView = (TextView) tab.getCustomView();
selectedTabText.setText(customView.getText());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
};
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
addTab(actionBar, listener, "Tab one with a very long name");
addTab(actionBar, listener, "Tab two with a very long name");
addTab(actionBar, listener, "Tab three with a very long name");
addTab(actionBar, listener, "Tab four with a very long name");
}
private void addTab(ActionBar actionBar, ActionBar.TabListener listener, String text) {
ActionBar.Tab tab = actionBar.newTab();
TextView textView = new TextView(this);
textView.setText(text);
tab.setCustomView(textView);
tab.setTabListener(listener);
actionBar.addTab(tab);
}
}
【问题讨论】: