Я пытаюсь использовать ShareActionProvider в своем приложении для Android. Сначала я попытался использовать значение по умолчанию ShareActionProvider
. Но, к сожалению, я нашел, что Android не предоставляет никакого способа изменить цвет значка общего доступа.ShareActionProvider ActionBarSherlock - удаление лишнего пространства
Так что я использую ActionBarSherlock
. Мне удалось изменить фон, но я не могу удалить пробелы вокруг пункта меню и поставщика акций.
Во-вторых, значок правой истории.
Пожалуйста, помогите.
Адрес источника.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.MyApp);
setContentView(R.layout.activity_fullscreen);
ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
LayoutInflater inflator = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View custom = inflator.inflate(R.layout.actionbar_view, null);
actionBar.setCustomView(custom);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setDisplayShowCustomEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.menu, menu);
MenuItem actionItem = menu.findItem(R.id.share_action_provider);
ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
actionProvider.setShareHistoryFileName(null);
actionProvider.setShareIntent(createShareIntent());
return true;
}
Мой стиль
<style name="MyApp" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="windowActionBarOverlay">true</item> <!-- for ActionBarSherlock -->
</style>
Мое меню XML
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/contest"
android:showAsAction="always"
android:icon="@drawable/contest" />
<item android:id="@+id/share_action_provider"
android:showAsAction="always"
android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider" />
</menu>
Мой заказ Просмотр
<RelativeLayout
android:id="@+id/actionLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/homeIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/home_button_background"
android:layout_alignParentLeft="true"
android:onClick="onHomeClick">
</ImageView>
</RelativeLayout>
Вот скриншот.
Вам нужно удалить значок справа (самый выбранный значок), не так ли? Вам нужно проверить эти советы: http://stackoverflow.com/questions/10706564/how-do-you-turn-off-share-history-when-using-shareactionprovider - и в основном http://stackoverflow.com/a/17290249/2668136 - http://stackoverflow.com/a/20550542/2668136 Для пространства вокруг значка я ничего не нашел, но как только исчезнет ваша правая иконка, вы не сможете пробежать. – Fllo