我正在为糖尿病患者制作一个Android应用程序。在那个应用程序中,我想显示食物项目的每餐用于饮食控制的数量。它看起来应该如下所示:
RICE 100gm
POTATO 50gm
FISH 60gm
这些信息将动态从我的数据库中获取。但是我正面临着安排它们的问题。我希望食物项目左对齐,数量在屏幕右侧对齐。如下(点表示屏幕)
|-------------------------------------------------------|
|RICE 100gm |
|POTATO 50gm |
|FISH 60gm |
|-------------------------------------------------------|
为此,我在xml文件中声明了一个相对布局。代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</RelativeLayout>
</LinearLayout>
现在我需要做的就是创建textview并动态地将它们添加到这个相对布局中。但我很困惑如何做到这一点。任何提示请...
最终输出应如下所示:
答案 0 :(得分:1)
我同意@Szymon,最好的方法是使用ListView。但是,如果您不想这样做,我会这样做:
为要显示的每个项目创建单独的布局。使其成为RelativeLayout,并根据您希望项目的显示方式将所有TextView放置在那里(alignParentRight / alignParentLeft)。
通过膨胀这个新布局动态创建视图,在运行期间膨胀的视图上使用findViewById()分配TextViews的文本
将视图添加到LinearLayout
(编辑:如何做第2步:)
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.my_item_layout, null);
TextView tv1 = (TextView)view.findViewById(R.id.tv1);
tv1.setText(myText);
希望这会有所帮助:)