我使用操作栏Sherlock,但我需要从栏中删除标题和图标。
我用过
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
它工作,图标和标题消失了,但我的项目出现在右边。有没有办法完全删除标题和图标而不是隐藏它们。我在堆栈溢出中发现了一个类似的问题但没有人回答它。
修改
Before my bar look like: -- Icon Title MenuItem1 MenuItem2--
After my bar look like: -- MenuItem1 MenuItem2--
I want my bar look like: -- MenuItem1 MenuItem2
答案 0 :(得分:10)
您的“菜单项”永远不会显示在左侧。它们将与右侧对齐。左侧是您的标题和图标(目前已删除)和导航(标签,列表等)。如果您有足够的操作栏项,它们将流向左侧,但它们将始终从右侧开始。这不能通过Android SDK进行更改。
答案 1 :(得分:8)
您可以参考此代码,然后您就可以获得解决方案......只需根据您的要求申请....
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
RelativeLayout relative = new RelativeLayout(getApplicationContext());
TextView tv1 = new TextView(this);
tv1.setText("Test1");
tv1.setTextColor(Color.GREEN);
tv1.setPadding(3,13,3, 12);
tv1.setId(1);
tv1.setOnClickListener(this);
TextView tv2 = new TextView(this);
tv2.setText("Test2");
tv2.setTextColor(Color.GREEN);
tv2.setPadding(3,13,3,12);
tv2.setId(2);
tv2.setOnClickListener(this);
TextView tv3 = new TextView(this);
tv3.setText("Test3");
tv3.setTextColor(Color.GREEN);
tv3.setPadding(3,13,3, 12);
tv3.setId(3);
tv3.setOnClickListener(this);
TextView tv4 = new TextView(this);
tv4.setText("Test3");
tv4.setTextColor(Color.GREEN);
tv4.setPadding(3,13,3, 12);
tv4.setId(4);
tv4.setOnClickListener(this);
LinearLayout ll = new LinearLayout(this);
ll.addView(tv1);
ll.addView(tv2);
ll.addView(tv3);
ll.addView(tv4);
relative.addView(ll);
actionBar.setCustomView(relative);
答案 2 :(得分:2)
getSupportActionBar().setIcon(android.R.color.transparent);
答案 3 :(得分:0)
您可以使用操作栏上的上下文菜单来执行此操作。查看Sherlock ABS演示,有一个Activity:ActionModes,它显示了一个非常简单的例子,可能对你有用。