如何将菜单和设置选项添加到android的自定义标题栏?
我的要求是增加标题栏的高度,但我不确定这是否可行。如果是的话,我怎样才能增加它的高度,这样我就有了更多的空间。如果不是,我需要在自定义标题栏中添加一个菜单选项(汉堡风格) 自定义标题栏.xml如何将菜单和设置选项添加到android的自定义标题栏?,android,Android,我的要求是增加标题栏的高度,但我不确定这是否可行。如果是的话,我怎样才能增加它的高度,这样我就有了更多的空间。如果不是,我需要在自定义标题栏中添加一个菜单选项(汉堡风格) 自定义标题栏.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/title_bar"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#77b48e"
android:gravity="center_vertical"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="29dp"
android:layout_height="28dp"
android:maxWidth="1dp"
android:src="@drawable/logo" />
<TextView
android:id="@+id/title_bar_viewname"
android:layout_width="wrap_content"
android:layout_height="16dp"
android:layout_weight="0.07"
android:text="@string/app_name"
android:textColor="@android:color/white"
android:textSize="10sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.activity_main);
actionBar = getActionBar();
ColorDrawable colorDrawable = new ColorDrawable(
Color.parseColor("#373836"));
actionBar.setBackgroundDrawable(colorDrawable);
}
对于Eg:现在,您的操作栏将显示如下:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.activity_main);
actionBar = getActionBar();
ColorDrawable colorDrawable = new ColorDrawable(
Color.parseColor("#373836"));
actionBar.setBackgroundDrawable(colorDrawable);
}
设置菜单
项
在java的MainActivity中添加以下代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.search:
//your code here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" > --->set a theme
...
</application>
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light"></style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionBarSize">80dip</item>
</style>
</resources>
然后在res/menu/main.xml中:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" >
<item
android:id="@+id/search"
android:icon="@drawable/ic_action_settings"
android:showAsAction="always"
android:title="text"/>
</menu>
现在,您可以在操作栏中看到设置图标
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.search:
//your code here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" > --->set a theme
...
</application>
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light"></style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionBarSize">80dip</item>
</style>
</resources>
在清单中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.search:
//your code here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" > --->set a theme
...
</application>
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light"></style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionBarSize">80dip</item>
</style>
</resources>
-->设置一个主题
...
然后在style.xml中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.search:
//your code here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" > --->set a theme
...
</application>
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light"></style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionBarSize">80dip</item>
</style>
</resources>
80度
现在动作条的大小增加到我们给定的大小
在风格上
随着android L的发布,一个新的视图被发布:工具栏。工具栏使您可以更灵活地设置动作栏的样式。它也可通过appCompat库用于较低的android版本 在这个版本中,Android引入了一个新的工具栏小部件。这是动作条模式的一个推广,它为您提供了更多的控制和灵活性。工具栏是层次结构中的一个视图,与其他视图一样,它可以更容易地与其他视图交叉、设置动画以及对滚动事件作出反应。您还可以将其设置为活动的操作栏,这意味着您的标准选项菜单操作将显示在其中 您可以使用工具栏更改操作栏的高度,只需将“布局高度”属性设置为所需的高度即可 有关如何使用它的更多信息: 文件: 您需要什么?检查第二个答案