Java Android listview/textview布局

Java Android listview/textview布局,java,android,android-layout,listview,Java,Android,Android Layout,Listview,我是android新手,正在尝试为我的应用程序整合各个部分。我正在努力寻找一种方法将我的应用程序信息移动到屏幕的另一边。我使用的是一个只有Listview/TextView的自定义布局,它由ArrayAdapter访问。有没有办法动态地实现我想要的结果?即:listview添加两个动态文本视图,我假设使用FindById更新文本视图,然后添加一个包含新项的新行,再添加两个文本视图,等等。。如果我需要提供更多信息,请让我知道 第一个屏幕截图(A)是它当前的显示方式。第二个屏幕截图(B)是我希望它的

我是android新手,正在尝试为我的应用程序整合各个部分。我正在努力寻找一种方法将我的应用程序信息移动到屏幕的另一边。我使用的是一个只有Listview/TextView的自定义布局,它由ArrayAdapter访问。有没有办法动态地实现我想要的结果?即:listview添加两个动态文本视图,我假设使用FindById更新文本视图,然后添加一个包含新项的新行,再添加两个文本视图,等等。。如果我需要提供更多信息,请让我知道

第一个屏幕截图(A)是它当前的显示方式。第二个屏幕截图(B)是我希望它的显示方式

//customListView.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:gravity="center_vertical"
    android:minHeight="?android:attr/listPreferredItemHeightSmall" />
//customListView.xml
//main.java

其中.add(“可用价值:\t”+ac.get(1)+“\n”+“可用现金:\t”+ac.get(2))

其中,添加(“”); mMainListAdapter=新的ArrayAdapter(这个,R.layout.custom_列表视图,其中)

屏幕截图A:


屏幕截图B:

尝试
LinearLayout
android:layout\u-weight
android:layout\u-weight决定谁将占用空间。您应该使用多个
TextView
s来实现所需的输出

<Button
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="1" />

<Button
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="3"
    android:text="2" />

<Button
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="3" />

</LinearLayout>


输出

对于您的情况:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.test.MainActivity" >

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Available Value"        
        android:layout_weight="1" />
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="$314.10" />

</LinearLayout>

结果如下:


您可以根据
RelativeLayout

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/relativeLayout1">
        <TextView
            android:text="Available cash"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/textView1"
            android:layout_toLeftOf="@+id/textView2" />
        <TextView
            android:text="$314.44"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/textView2"
            android:layout_alignParentRight="true" />
    </RelativeLayout>

对于每一行,您需要两个文本视图,一个用于文本,一个用于数字。 因此,要获得屏幕,您总共需要4个文本视图。 文本将相对于父项向左对齐,数字将向右对齐。父母

我已经给了下面的一个例子,尝试一下,让我知道它是否有效。你可能需要稍微调整一下

<RelativeLayout>

    <TextView
        android:id="@+id/Available"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Available Value"
            android:textStyle="bold"
            android:layout_alignParentLeft="true"/>

    <TextView
        android:id="@+id/AvailableValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/Value"
            android:textStyle="bold"
            android:layout_alignParentRight="true”/>

   <TextView
        android:id="@+id/tvCash"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Available Value"
            android:textStyle="bold"
            android:layout_alignParentLeft=“true"
       android:layout_below=android:id="@id/Available"
/>

    <TextView
        android:id="@+id/tvCashValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/Value"
            android:textStyle="bold"
            android:layout_alignParentRight="true"/>


    </RelativeLayout>


如果是“2”按钮,空控件中会出现什么?你是说我需要创建其他文本视图,即使我可能不使用它们?@snapplex“空控件”是什么意思?如果我使用你的示例,第一个按钮将具有“可用值”:,第二个按钮是空白的?…第三个按钮是314.10美元——也许我误解了你的意思。@snapplex这只是一个演示布局权重使用的示例。对于您的案例,您应该使用两个文本视图,一个用于“可用值”,一个用于“$314.10”。“可用值”的文本视图应该有一个android:layout\u weight=“1”和一个android:layout\u width=“0dp”。另一个TextView应该有android:layout\u width=“wrap\u content”no layout\u weight属性。我将更新答案以解决您的特定问题。我能够使用您的示例复制布局。它只在静态时工作,因此我将研究如何动态添加项并在另一个布局中更新两个文本视图。谢谢你的帮助。所以,在我向ListView添加其他项目之前,听起来我需要动态创建和重新对齐TextView?如果上面是每个列表的一行,你不必这样做。您将为列表的每一行创建一个布局,并在Adapter的getView()方法中对其进行充气