以编程方式在 Android java 中显示类似 facebook messenger 的 UI

Posted

技术标签:

【中文标题】以编程方式在 Android java 中显示类似 facebook messenger 的 UI【英文标题】:Display UI like facebook messenger in Android java programatically 【发布时间】:2015-03-01 10:41:02 【问题描述】:

图片

--

我想在上图中实现这样的效果

我必须遍历这个 json 数组来获取我所有的数据; 我的json数组中包含的数据例如


 'img' : http:\\.....
 'name' : XYZ
 'msg' : xyz
 'time' : abc


//this is where I am tring to append everything
final LinearLayout rl = (LinearLayout)main.findViewById(R.id.mainL); 

for (int i = 0; i < json.length(); i++)  
    try 
        JSONObject c = json.getJSONObject(i);
        //here components must be created and added to view
    catch (JSONException e) 
        // TODO Auto-generated catch block
        e.printStackTrace();
    

我只想知道您如何以编程方式设置视图样式(textview、imageview 等),如上图所示。 任何帮助将不胜感激

【问题讨论】:

是否有理由需要以编程方式创建视图?我会创建一个ListViewRecyclerView 并在您的自定义适配器中的getView 中创建您的视图。 因为我从服务器获取数据,所以我不知道我需要创建多少列表视图,所以我需要创建一个循环 n 以编程方式进行! @JaredRummler 你有更好的主意吗? 我将首先解析 JSON 并将每个 JSONObject 加载到一个类中,然后将您创建的每个对象放入 ArrayList。然后将 ArrayList 传递给您的自定义适配器,并通过 getItem(position) 获取您需要的信息。 在图片中叫这个妈妈___ing ass___le是我不想发布它的原因xD 【参考方案1】:

好的,您正在查看的图像实际上是一个 ListView 提供定制视图。

它是如何工作的? 您将需要继承 BaseAdapter 类。该子类将包含基础数据,在您的情况下,您将从网络服务器获得 JSON 格式的回复。

当调用BaseAdapter 子类的getView() 时,您可以扩展包含ImageViewTextViews 的布局以在屏幕上显示数据。

【讨论】:

我得到了一些东西,但你能提供一些代码让它更清晰吗? @lilchild

以上是关于以编程方式在 Android java 中显示类似 facebook messenger 的 UI的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式打开 Android 6.0 (Marshmallow) 上特定应用的权限屏幕?

以编程方式获取 android 联系人显示选项

以编程方式(Kotlin)在Android中修改和显示联系人的最佳方式?

如何在android中以编程方式显示联系人列表?

多个ListViews在android中以编程方式创建

以编程方式在 Android 中使应用程序全屏显示