gpt4 book ai didi

android - 如何在操作栏上添加自定义按钮?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:58:45 25 4
gpt4 key购买 nike

我想制作一个操作栏,右边有一个按钮,带有 margin_right。像这样 picture1我使用 Action 按钮来做到这一点。但是按钮在右边,没有margin_right。 picture2android:layout_marginRight 在这里不起作用。

这是我的 styles.xml:

<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarSize">50dp</item>
<item name="android:actionBarStyle">@style/my_actionbar_style</item>
<item name="android:actionButtonStyle">@style/my_action_button</item>

</style>
<style name="my_actionbar_style" parent="android:Widget.ActionBar">
<item name="android:background">@color/actionbar_backgroud</item>
<item name="android:titleTextStyle">@style/myTitleStyle</item>
<item name="android:displayOptions">showTitle</item>
</style>
<style name="myTitleStyle">
<item name="android:textColor">#ffffff</item>
<item name="android:textSize">20sp</item>
</style>

<style name="my_action_button">
<item name="android:background">@drawable/button_selector</item>
<item name="android:width">70dp</item>
<item name="android:textSize">13sp</item>
<item name="android:layout_marginTop">10dp</item>
<item name="android:layout_marginBottom">10dp</item>
<item name="android:layout_marginRight">10dp</item>
</style>

这是我的 menu.xml:

<menu xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
tools:ignore="AppCompatResource">

<item
android:id="@+id/action_search"
android:title="submit"
android:showAsAction="always" /></menu>

最佳答案

另一种快速简洁的方法是为该菜单按钮指定您自己的布局。像这样

<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"
tools:context="com.example.MainActivity">

<item
android:id="@+id/action_custom_button"
android:title="Custom Button"
android:icon="@drawable/ic_custom_button"
app:actionLayout="@layout/layout_to_custom_button"
app:showAsAction="always" />

</menu>

应该有

layout_to_custom_button.xml

包含您想要的内边距和样式的布局文件。

并在点击事件的 Activity 中执行此操作

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_product_detail, menu);
final Menu mMenu = menu;
final MenuItem item = menu.findItem(R.id.action_custom_button);
item.getActionView().setOnClickListener(new View.OnClickListener(){

@Override
public void onClick(View v) {
mMenu.performIdentifierAction(item.getItemId(), 0);
}
});
return true;
}

关于android - 如何在操作栏上添加自定义按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32175254/

25 4 0