Здесь вы получите название файла
String[] projection = {MediaStore.MediaColumns.DISPLAY_NAME};
Uri uri = data.getData();
String fileName = null;
ContentResolver cr = getActivity().getApplicationContext().getContentResolver();
Cursor metaCursor = cr.query(uri,
projection, null, null, null);
if (metaCursor != null) {
try {
if (metaCursor.moveToFirst()) {
fileName = metaCursor.getString(0);
}
} finally {
metaCursor.close();
}
}
. Я только что собрал класс перехода для реализации вашей собственной анимации в OpenGL ES.
Не стесняйтесь читать об этом здесь
Вот краткое руководство по использованию стандартных переходов UIView. http://chris-software.com/index.php/dev-center/view-transitions/
Если вы хотите исчезнуть в представлении, используйте что-то вроде этого. Это работает с любым типом элемента с альфа-свойством, таким как UIImageViews и т. Д. someView.alpha = 0; [viewController.view addSubview: someView];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.5];
[UIView setAnimationDelegate:self];
someView.alpha = 1;
[UIView commitAnimations];
Анимации CoreAnimation работают, записывая различия в очень специфическом подмножестве свойств UIView. Они не реагируют на какие-либо пользовательские свойства и просто не выполняют более сложных переходов, чем вы уже видели в демонстрациях. Вы можете сделать снимок экрана вашего текущего представления, сохранить его в памяти как текстуру, скрыть старый вид и одновременно показать представление OpenGL. Затем, используя текстуру скриншота и различные анимации сетки, вы можете визуализировать свой собственный переход (включая альфа-смешение вокруг смятых / загнутых краев), а затем удалить представление OpenGL, чтобы полностью раскрыть целевой вид. Похоже на интересный проект, и вам вряд ли удастся его реализовать.