Bağlamsal eylem çubuğunda bazı garip davranışlar var.Içerik eylem çubuğu menü öğesi için garip davranış
Birincisi: bir yol simgeleri olduğunu var mı
: İkinci/üçüncü olarak
:
Bir menü öğesi yalnızca ben taşma butonuna tıklayın her ikinci kez gösterilmiştir o kadar yer kullanmıyor musun? Ben tüm öğelere özelliği android:showAsAction="always"
eklemek değiştirmek
, tüm simgeleri göstermek için aslında yeterli boşluk olduğundan - ama benim paylaş simgesi artık tıklanabilir değil:
Temiz Projesi değil yardım et.
Test cihazımdaki (Galaxy S3) Android 4.2.2'yi kullanıyorum.
Hatta (aynı zamanda altta de NavigationBar kaldırıldı SlimBean önce, şimdi CyanogenMod 10.1) tamamen benim XXX GS3 üzerinde yeni ROM flaş çalıştı - yardım etmedi.Ayrıca bir Nexus 4 denedim. Daha fazla alan var, bu yüzden paylaşım düğmesi ve silme düğmesi görünür. İşlem modunu başlattığımda paylaşım düğmesi tıklanabilir değil, ancak aygıtı manzara moduna döndürdüğümde ve bu işlev tekrar resme döndüğümde hala çalışıyor. Nexus 4’te temel olarak paylaşım düğmesi dönmeden önce çalışmaz.
Bildirim:
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" />
minSdkVersion=17
karşı Derleme hiç fark etmez.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:title="@string/checkAll"
android:id="@+id/managementCABCheckAll"
android:icon="@android:drawable/checkbox_on_background">
</item>
<item
android:title="@string/enable"
android:id="@+id/managementCABEnable"
android:icon="@drawable/sphere_green">
</item>
<item
android:title="@string/disable"
android:id="@+id/managementCABDisable"
android:icon="@drawable/sphere_red">
</item>
<item
android:title="@string/delete"
android:id="@+id/managementCABDelete"
android:icon="@android:drawable/ic_menu_close_clear_cancel">
</item>
<item
android:title="@string/share"
android:id="@+id/managementCABShare"
android:actionProviderClass="android.widget.ShareActionProvider"
android:icon="@android:drawable/ic_menu_share">
</item>
<item
android:title="@string/export"
android:id="@+id/managementCABExport"
android:icon="@drawable/explorer">
</item>
</menu>
:
Böyle bir parçasından Eylem Modu başlatın:ActionMode.Callback
yılında
mActionMode = activity.startActionMode(mMultipleCallback);
menüyü doldurmak: XML burada
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.management_cab, menu);
MenuItem item = menu.findItem(R.id.managementCABShare);
mShareActionProvider = (ShareActionProvider) item.getActionProvider();
//...other stuff
return true;
}
Ve olduğunu Bütünlük uğruna bütünüyle callback
:
protected ActionMode.Callback mMultipleCallback = new ActionMode.Callback() {
private ShareActionProvider mShareActionProvider;
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.management_cab, menu);
MenuItem item = menu.findItem(R.id.managementCABShare);
mShareActionProvider = (ShareActionProvider) item.getActionProvider();
hideUnwantedCABItems(menu);
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
List<Integer> checkedPositions = getAllCheckedPositions();
switch (item.getItemId()) {
case R.id.managementCABCheckAll:
changeCheckedOfAllItems(true);
return true;
case R.id.managementCABEnable:
changeEnabled(checkedPositions, true);
return true;
case R.id.managementCABDisable:
changeEnabled(checkedPositions, false);
return true;
case R.id.managementCABDelete:
if (deleteAlert == null)
createDeleteDialog(checkedPositions);
initDeleteDialog(checkedPositions);
return true;
case R.id.managementCABShare:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, exportItemsAndGetUris(checkedPositions));
shareIntent.setType("application/xml");
setShareIntent(shareIntent);
return true;
case R.id.managementCABExport:
String message;
if (StorageController.copyUriListToExportFolder(exportItemsAndGetUris(checkedPositions)))
message = getActivity().getString(R.string.export_success);
else
message = getActivity().getString(R.string.export_fail);
Toast.makeText(getActivity(), message + ":\n" + StorageController.getExternalExportApplicationFolder(), Toast.LENGTH_LONG).show();
return true;
default:
return false;
}
}
@Override
public void onDestroyActionMode(ActionMode mode) {
mActionMode = null;
changeCheckedOfAllItems(false);
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
private void setShareIntent(Intent shareIntent) {
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(shareIntent);
}
}
};
Cihazınızda v14 kullanıyorsunuz veya v14 SDK ile derlenmiyor mu? –
wtf neden aşağı oy? her neyse ben cihazımda 4.2.2 kullanın - açıklık için düzenleme kontrol etmek için –
Bu ben v14 karşı derlerseniz, ben en son SDK karşı derlemeyi deneyin Ben değildi. –