Сохранение / восстановление состояния пользовательских представлений в android

Я внедрил пользовательские представления для EditText, как вы можете видеть на изображении ниже:

Пользовательское представление для edittext

Теперь это пользовательское представление включает в себя функцию перелистывания, редактирования, поворота, перетаскивания и изменения размера. Я сохраняю это пользовательское представление в растровом формате в проводнике. Проблема в том, что я хочу отредактировать его, и я хочу восстановить детали пользовательского представления и получить каждую деталь CustomView, даже если это положение. Итак, есть ли способ его реализации?

Вам нужно сохранить все редактирование, например:

Rotation : для этого вам необходимо поддерживать угол от начального значения 0 до следующего значения вращения.

Flip : создайте для этого один флаг и установите True, значение false для фронта и назад.

Text : вы знаете, как взять текстовую форму EditText .

Layout position within parent View :

Для расчета размещения макета в родительском представлении. Используйте нижеописанный метод и создайте для этого четыре переменной int,

Left =

Top =

Right =

Bottom =

Height =

Width =

 private Map<String,Integer> getPositionOnScreen(View view){ Map<String,Integer> map = new HashMap<String,Integer>(); View rootLayout = view.getRootView().findViewById(android.R.id.content); int[] viewLocation = new int[2]; view.getLocationOnScreen(viewLocation); int[] rootLocation = new int[2]; rootLayout.getLocationOnScreen(rootLocation); int relativeLeft = viewLocation[0] - rootLocation[0]; int relativeTop = viewLocation[1] - rootLocation[1]; int height = viewLocation[0] - rootLocation[0]; int width = viewLocation[1] - rootLocation[1]; map.put("left",relativeLeft); map.put("top",relativeTop); map.put("height",view.getLayoutParams().height); map.put("width",view.getLayoutParams().width); return map; } 

Вышеуказанный метод возвращает левое и верхнее положение, но вам нужно рассчитать правое и нижнее положение слева, сверху и высоте, ширине.

Создайте одно Pojo для хранения всех этих параметров и сохраните это pojo в SharedPreferences или в базе данных или в контексте приложения.

Самый простой способ сделать это

  • 1 – Сохранить все необходимые свойства по предпочтению через карту, Pojo
    Или путем сериализации.
  • 2 – Храните несколько ключей в случае нескольких видов.
  • 3 – После запуска определенного экрана получите представление
    Свойства из настроек и установить его на вид (справа – метод утилиты, который принимает ключ Pref, устанавливает все и возвращает представление).