android - 跨不同 Activity 保存和加载布局

标签 android android-layout viewgroup

我正在创建具有以下功能的应用程序。 Main Activity 是一个包含三个 fragments 的选项卡式 Activity 。中间的 fragment 由一个 ListView 组成。当您选择 listView 项目时,它将允许您执行以下两项操作之一:

  1. 编辑布局,可以添加按钮、开关、文本框等。
  2. 如果创建了布局,您可以滑动到第一个选项卡,布局将加载用户添加的所有自定义 View 。

我想知道如何保存每个 ViewGroup 以便用户可以访问它们并根据需要进行编辑。我不认为这可以用 SavedStated 来完成,因为它将跨越不同的 Activity ,这就是为什么我需要一种方法来保存/加载它们。

我有一个允许您自定义布局的 fragment 。我只想保存所有子项的 ViewGroup。因此,您不会拥有 10 个不同的 XML 布局,而是拥有 1 个具有 10 个不同 ViewGroup 的 XML 布局,可以在选择不同的 ListView 项时动态插入这些 View 组。

它不能是布局的图像,当我切换到 View 时,我需要具有所有按钮和开关的功能,并且用户需要能够在他们喜欢的时候编辑他们的布局。

最佳答案

我认为您需要为所有 View 创建模型。例如 ModelButton - 是你按钮的模型可能有下一个代码:

public class ModelButton implements Serializable{
    private String text;
   private Bitmap bgResource;
   private int width;
   private int height
   public ModelButton(final String text, final Bitmap bgResource, final int width, final int height) {
      this.text = text;
      this.bgResource = bgResource;
      this.width = width;
      this.height = height;
   }
}

您的所有模型都必须实现 Serializable 接口(interface)才能将其传递给 Intent。 您还需要想出存储 View 宽度和高度的方法。

这不是简单的方法,但据我所知,无法在 Activity 之间传递 ViewGroup 或 View

关于android - 跨不同 Activity 保存和加载布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337339/

相关文章:

java - Android - 将 config.xml 解析为 Map

java - 从 Activity 中的按钮打开的 fragment

android - BottomSheetDialogFragment 中 ADJUST_RESIZE 的不同行为

android - 如何以编程方式创建布局并将其插入另一个以编程方式创建的布局

android - 当用户按下并且键盘出现时 EditText 消失

android - 通知到达 Android 时如何调用选项卡组子 Activity ?

Android 自定义布局 - onDraw() 永远不会被调用

java - 如何测试 ViewGroup 的类型?

Android - 图像变形效果

Android 处理程序不接收消息