问题描述
我有同样的问题,在这里被描述 - Setting在动作条ShareActionProvider 自定义共享图标
I have the same problem as was described here - Setting a custom share icon on Actionbar ShareActionProvider
但是我'不使用ActionBarSherlock
我发现福尔摩斯主题使用 actionModeShareDrawable ,我也可以这样使用它,如果我不使用 ActionBarSherlock
But I'am not using ActionBarSherlock
I found that the Sherlock theme uses the "actionModeShareDrawable" and I can also use it like this, if I don't use ActionBarSherlock
<style name="Theme.MyApp" parent="android:Theme.Holo">
<item name="*android:actionModeShareDrawable">@drawable/icon</item>
</style>
这正常工作对我的关系5,但未能在许多其他设备
所以我的问题是,如何更改图标不使用ActionBarSherlock
This works fine on my nexus 5, but failed on many other devices
So my question is, how to change that icon without using ActionBarSherlock
推荐答案
您也可以继承ShareActionProvider,覆盖只有构造函数和createActionView()。
You can subclass ShareActionProvider, overriding only the constructor and createActionView().
在这里,你可以从超级视图,铸造它ActivityChooserView所以你能打电话setExpandActivityOverflowButtonDrawable(绘制对象)来更改图标。
From here, you can get the View from super, casting it to ActivityChooserView so you can callsetExpandActivityOverflowButtonDrawable(Drawable) to change the icon.
package com.yourpackagename.whatever;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v7.internal.widget.ActivityChooserView;
import android.support.v7.widget.ShareActionProvider;
import android.view.View;
import com.yourpackagename.R;
public class CustomShareActionProvider extends ShareActionProvider {
private final Context mContext;
public CustomShareActionProvider(Context context) {
super(context);
mContext = context;
}
@Override
public View onCreateActionView() {
ActivityChooserView chooserView =
(ActivityChooserView) super.onCreateActionView();
// Set your drawable here
Drawable icon =
mContext.getResources().getDrawable(R.drawable.ic_action_share);
chooserView.setExpandActivityOverflowButtonDrawable(icon);
return chooserView;
}
}
这篇关于在动作条ShareActionProvider设置自定义共享图标没有ActionBarSherlock的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!