通过aidl传递一个android ViewGroup

时间:2015-03-20 18:07:47

标签: android android-service aidl android-viewgroup

有没有办法可以"转换"一个Viewgroup以编程方式创建为parcelable,然后发送此ViewGroup并通过helpl?

我知道这可能不是一个好的设计或表现,但是我有办法做到这一点吗?

这就是我的ViewGroup的创建方式:

public ViewGroup getViewGroup(){
        LinearLayout root = new LinearLayout(getContext());
        root.setPadding(getValueinPixels(16),getValueinPixels(16),getValueinPixels(16),getValueinPixels(16));
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        root.setLayoutParams(params);
        root.setOrientation(LinearLayout.VERTICAL);

        TextView message = new TextView(getContext());
        message.setText(getMessageCorrespondentToAction());
        message.setTextColor(Color.parseColor(getHexadecimalColorOfMessageView()));
        message.setPadding(getValueinPixels(0),getValueinPixels(8),getValueinPixels(0),getValueinPixels(8));

        TextView action = new TextView(getContext());
        action.setTextColor(Color.parseColor(getHexadecimalColorOfActionView()));
        action.setPadding(getValueinPixels(0),getValueinPixels(8),getValueinPixels(0),getValueinPixels(8));

        root.addView(message);
        root.addView(action);

        return root;

    } 

1 个答案:

答案 0 :(得分:0)

  

有没有办法可以将以编程方式创建的Viewgroup“转换”为parcelable,然后将此ViewGroup通过and aidl发送?

欢迎您以a RemoteViews的形式构建UI定义,收件人可以apply()RemoteViews已经Parcelable

您也可以提出自己的RemoteViews替换,您可以在其中创建描述UI的通用数据结构,并编写可以从该通用数据结构生成实际小部件和容器的代码。然后,您可以创建该数据结构Parcelable