选项卡内的java 安卓工具栏
我想在我的一个选项卡中创建一个工具栏,但没有任何东西适合我。这能做到吗?我目前有一个工具栏上面我的标签,但我需要它出现在第一个标签
以下是代码(选项卡上方的工具栏):
import ...
public class MainActivity extends ActionBarActivity {
Toolbar toolbar;
ViewPager pager;
ViewPagerAdapter adapter;
SlidingTabLayout tabs;
CharSequence Titles[] = {"Projects", "People", "Files"};
int Numboftabs = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
adapter = new ViewPagerAdapter(getSupportFragmentManager(), Titles, Numboftabs);
pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);
tabs = (SlidingTabLayout) findViewById(R.id.tabs);
tabs.setDistributeEvenly(true);
tabs.setViewPager(pager);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_primary, menu);
return true;
}
final ArrayList<String> listItems = new ArrayList<String>();
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.addButton) {
final TextView noProject = (TextView) findViewById(R.id.NOPROJECT);
final ListAdapter addAdapter = new ArrayAdapter<String>(this,
R.layout.list_item, R.id.listFrame, listItems);
final ListView lv = (ListView) findViewById(R.id.lv);
lv.setAdapter(addAdapter);
noProject.setVisibility(View.GONE);
lv.setVisibility(View.VISIBLE);
listItems.add("New Project");
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent switchToEdit = new Intent(MainActivity.this,
TeamCreate.class);
startActivity(switchToEdit);
}
});
}
return super.onOptionsItemSelected(item);
}
}
第一个选项卡:
import ...
public class Tab1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v =inflater.inflate(R.layout.tab_1,container,false);
return v;
}
}
# 1 楼答案
我在一个非标准的工具栏和标签上也遇到了类似的挑战,并克服了它,尽管坦率地说,结果看起来很奇怪。您可能可以使用类似的技术让工具栏在选项卡下工作,但它可能会让用户挠头。您的技术将有两个工具栏,一个保存TabLayout小部件,另一个位于ViewPager中的片段内
我在我的应用程序中使用“材质设计”选项卡查看细节。在我为平板电脑创建两个窗格的主细节视图之前,它看起来还不错。然后,我遇到了一个问题,即选项卡希望直接位于工具栏下方,但没有明显的方式来拥有主&;详细信息共享工具栏,选项卡仅显示在屏幕的详细信息部分下
我是通过以下方式实现的:
在styles中创建“NoActionBar”样式。xml,然后在主布局中使用“android:theme=“@style/AppTheme”引用它
扔机器人。支持设计小装置。协调布局,使用线性布局
下面是一个片段,其中的工具栏包含的选项卡只占屏幕的一部分,而不是整个宽度。请注意,工具栏上有“app:layout_scrollFlags=“scroll | enterally”:
以下是宽屏平板电脑上的主细节视图。标签以绿色圈出。带有操作的工具栏位于选项卡上方。