将textview和微调器对齐在同一行上

时间:2013-10-30 06:03:25

标签: android

我想将textview和微调器对齐在同一行,例如this image,但我的屏幕看起来像this

另外,如何使用微调器的值更新价格textview?假设产品价格是200美元,当我在spinner textview上选择2更改为$ 400时。我该怎么做?

    <LinearLayout
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="#E5E5E5"
    android:layout_height="fill_parent">

    <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Qty"
        android:textSize="10pt"></TextView>

    <Spinner
        android:id="@+id/SpinnerFeedbackType"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:layout_width="fill_parent"
        android:entries="@array/feedbacktypelist"></Spinner>

    <EditText
        android:id="@+id/EditTextName"
        android:layout_height="wrap_content"
        android:hint="Name"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:inputType="textPersonName"
        android:layout_width="fill_parent"></EditText>

    <EditText
        android:id="@+id/EditTextEmail"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Email"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>
     <EditText
        android:id="@+id/EditTextMobile"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Mobile Number"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>
      <EditText
        android:id="@+id/EditCity"
        android:layout_height="wrap_content"
          android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="City"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>


    <EditText
        android:id="@+id/EditTextFeedbackBody"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Address"
        android:inputType="textMultiLine"
        android:lines="5"
        android:layout_width="fill_parent"></EditText>


    <EditText
        android:id="@+id/EditTextComments"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Comments"
        android:inputType="textMultiLine"
        android:lines="5"
        android:layout_width="fill_parent"></EditText>


     <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Total Order Price:"
        android:textSize="10pt"></TextView>



     <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Rs.6,849"
        android:textSize="10pt"></TextView>





    <CheckBox
        android:id="@+id/CheckBoxResponse"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="@string/feedbackresponse"
        android:layout_width="fill_parent"></CheckBox>

    <Button
        android:id="@+id/ButtonSendFeedback"
        android:layout_height="wrap_content"
         android:padding="5dp"
        android:text="@string/feedbackbutton"
        android:onClick="sendFeedback"
        android:layout_width="fill_parent"></Button>

  </LinearLayout>

5 个答案:

答案 0 :(得分:3)

这是因为您在父布局上使用方向为垂直方向。并且您没有将任何parentLayout提供给要水平显示的视图集。 将两个textview和微调器放在LinearLayout中,方向为水平

尝试以下数据:

<LinearLayout
    android:layout_width="fill_parent"
    android:orientation="horizontal"
    android:layout_height="fill_parent">
<TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Qty"
        android:textSize="10pt"></TextView>

    <Spinner
        android:id="@+id/SpinnerFeedbackType"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_width="wrap_content"
        android:weight=".5"
        android:entries="@array/feedbacktypelist"></Spinner>
</LinearLayout>

在setOnItemSelectedListener中进行计算

priceTextView.setText(Integer.parseInt(Spinner.getSelectedItem().toString())*
              Integer.parseInt(productPrice));

考虑您的productPrice是字符串

答案 1 :(得分:1)

像这样制作xml,这将解决您的问题

<LinearLayout
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="#E5E5E5"
    android:layout_height="fill_parent">

<LinearLayout
 android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"

>

    <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Qty"
        android:textSize="10pt"></TextView>

    <Spinner
        android:id="@+id/SpinnerFeedbackType"
        android:layout_height="wrap_content"

           android:layout_marginRight="10dp"
        android:layout_width="40dp"
        android:entries="@array/feedbacktypelist"></Spinner>

</LinearLayout>

    <EditText
        android:id="@+id/EditTextName"
        android:layout_height="wrap_content"
        android:hint="Name"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:inputType="textPersonName"
        android:layout_width="fill_parent"></EditText>

    <EditText
        android:id="@+id/EditTextEmail"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Email"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>
     <EditText
        android:id="@+id/EditTextMobile"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Mobile Number"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>
      <EditText
        android:id="@+id/EditCity"
        android:layout_height="wrap_content"
          android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="City"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>


    <EditText
        android:id="@+id/EditTextFeedbackBody"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Address"
        android:inputType="textMultiLine"
        android:lines="5"
        android:layout_width="fill_parent"></EditText>


    <EditText
        android:id="@+id/EditTextComments"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Comments"
        android:inputType="textMultiLine"
        android:lines="5"
        android:layout_width="fill_parent"></EditText>


     <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Total Order Price:"
        android:textSize="10pt"></TextView>



     <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Rs.6,849"
        android:textSize="10pt"></TextView>





    <CheckBox
        android:id="@+id/CheckBoxResponse"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="@string/feedbackresponse"
        android:layout_width="fill_parent"></CheckBox>

    <Button
        android:id="@+id/ButtonSendFeedback"
        android:layout_height="wrap_content"
         android:padding="5dp"
        android:text="@string/feedbackbutton"
        android:onClick="sendFeedback"
        android:layout_width="fill_parent"></Button>

  </LinearLayout>

答案 2 :(得分:0)

将微调器和文本视图放在水平线性布局中。

实现spinner.setOnItemSelectedListener(AdapterView.OnItemSelectedListener)。并根据需要更改TextView文本。

 spinner.setOnItemSelectedListener(new OnItemSelectedListener()
 {

   public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)

    {         
              String txtNo=textView.getText().toString().replaceAll("[^0-9]", "");
              textView.setText(Integer.parseInt(Spinner.getSelectedItem().toString())*
              Integer.parseInt(txtNo));
    }

  });     

答案 3 :(得分:0)

将它们包裹成水平方向的线性布局,就像这样......

<LinearLayout
    android:id="@+id/dd"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:text="Qty"
        android:textSize="10pt" >
    </TextView>
    <Spinner
        android:id="@+id/SpinnerFeedbackType"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp" >
    </Spinner>
</LinearLayout>

答案 4 :(得分:0)

在当前垂直布局中,使用具有水平方向的LinearLayout包装textview和微调器。

至于你的第二个问题,你只需将价格乘以数量字段中的数字,可以从mySpinner.getSelectedItem()中获取并根据需要进行投射。