редактировать
Теперь BottomSheet
это часть android-support-library
. См. Ответ Джона Шелли .
К сожалению, в настоящее время нет «официального» способа, как это сделать (по крайней мере, мне ничего не известно).
К счастью, есть библиотека под названием «BottomSheet» (щелкните), которая имитирует внешний вид BottomSheet
и поддерживает Android 2.1 и выше.
В случае приложения Drive вот как будет выглядеть код с этой библиотекой:
new BottomSheet.Builder(this, R.style.BottomSheet_Dialog)
.title("New")
.grid()
.sheet(R.menu.menu_bottom_sheet)
.listener(new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).show();
menu_bottom_sheet (в основном стандартный ресурс /res/menu/*.xml)
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/folder"
android:title="Folder"
android:icon="@drawable/ic_action_folder" />
<item
android:id="@+id/upload"
android:title="Upload"
android:icon="@drawable/ic_action_file_upload" />
<item
android:id="@+id/scan"
android:title="Scan"
android:icon="@drawable/ic_action_camera_alt" />
</menu>
Результат выглядит так:
Что, на мой взгляд, довольно близко к оригиналу. Если вас не устраивают цвета, вы можете настроить их - см. (Щелкните) .