簡體   English   中英

將textview和微調器對齊在同一行上

[英]Align textview and spinner on same row

我想將textview和spinner對齊在同一行,就像這個圖像一樣,但我的屏幕看起來像這樣

另外,如何使用微調器的值更新價格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>

這是因為您在父布局上使用方向為垂直。並且您沒有將任何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是String

像這樣制作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>

將微調器和文本視圖放在水平線性布局中。

實現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));
    }

  });     

將它們包裹成水平方向的線性布局,就像這樣......

<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>

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

至於你的第二個問題,你只需將價格乘以數量字段中的數字,可以從mySpinner.getSelectedItem()中獲取並根據需要進行投射。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM