Android 安卓系统中的相对延迟

Android 安卓系统中的相对延迟,android,android-layout,alignment,android-relativelayout,Android,Android Layout,Alignment,Android Relativelayout,我正在为糖尿病患者制作一个android应用程序。在该应用程序中,我想显示每餐的食物项目及其数量,以便控制饮食。它应该看起来有点像下面: RICE 100gm POTATO 50gm FISH 60gm 这些信息将从我的数据库中动态获取。然而,我面临的问题安排他们。我希望食物项目在屏幕左侧对齐,数量在屏幕右侧对齐。如下所示(点表示屏幕) 为此,我在xml文件中声明了一个相对布局。代码如下所示: <?xml version="1.0" en

我正在为糖尿病患者制作一个android应用程序。在该应用程序中,我想显示每餐的食物项目及其数量,以便控制饮食。它应该看起来有点像下面:

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并将它们动态添加到这个相对布局中。但我不知道该怎么做。任何提示请

最终输出应如下所示:


我同意@Szymon的观点,最好的方法是使用ListView。但是,如果您不想这样做,我会这样做:

  • 为要显示的每个项目创建单独的布局。将其设置为RelativeLayout,并根据您希望项目的显示方式(alignParentRight/alignParentLeft)将所有文本视图放置在其中

  • 通过膨胀此新布局动态创建视图,在运行时膨胀的视图上使用findViewById()指定TextView的文本

  • 将视图添加到线性布局中

  • (编辑:如何执行步骤2:)


    A尝试为您的问题设置一个更合适的标题,但如果我的选择不适用,请随意将其设置为更合适的标题。您可以更轻松地使用
    列表视图。但也许listview不能给我想要的@SzymonTry为每个项目添加一个
    RelativeLayout
    。在布局中,将一个“文本视图”设置为
    alignParentLeft
    ,一个
    alignParentRight
    。然后,在上面相应的步骤下再添加两个其他的
    TextView
    。请您简要解释一下您的第2步@吉尔莫沙霍夫
    <?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>
    
    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);