簡體   English   中英

如何在android中膨脹xml布局?

[英]How to inflate xml layout in android?

嗨Iam,將一種布局放大為另一種布局。 但是它正在覆蓋現有布局。 如果有人知道,請讓我知道將一個布局放大為另一個布局。 當按下加號按鈕時,它應該使布局膨脹。

我的xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="18dp"
            android:layout_marginTop="14dp"
            android:text="Daily Call Report"
            android:textColor="#008000"
            android:textSize="35dp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="253dp"
            android:text="Date"
            android:textColor="#008000"
            android:textSize="35dp"
            android:textStyle="bold" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/dayworkcategory"
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/linearLayout1"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="28dp"
            android:layout_marginTop="10dp"
            android:text="Day Work Plan:"
            android:textSize="15dp"
            android:textStyle="bold" />

        <Spinner
            android:id="@+id/spinner2"
            android:layout_width="175dp"
            android:layout_height="45dp"
            android:layout_alignParentBottom="true"
            android:layout_marginLeft="101dp"
            android:layout_toRightOf="@+id/spinner1" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/spinner2"
            android:layout_alignLeft="@+id/spinner2"
            android:text="Category:"
            android:textSize="15dp"
            android:textStyle="bold" />

        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="175dp"
            android:layout_height="45dp"
            android:layout_alignLeft="@+id/textView2"
            android:layout_below="@+id/textView2" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/placeworkstation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/dayworkcategory"
        android:layout_marginTop="12dp"
        android:orientation="vertical" >

        <AutoCompleteTextView
            android:id="@+id/autoCompleteTextView1"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_alignLeft="@+id/textView5"
            android:layout_below="@+id/textView5"
            android:ems="10"
            android:hint="STATION NAME" >
        </AutoCompleteTextView>

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/textView4"
            android:layout_alignBottom="@+id/textView4"
            android:layout_marginLeft="27dp"
            android:layout_toRightOf="@+id/textView4"
            android:text="Actual Working :"
            android:textSize="20dp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="30dp"
            android:layout_marginTop="16dp"
            android:text="Place of work(as per TP) :"
            android:textSize="20dp"
            android:textStyle="bold" />
    </RelativeLayout>

    <TextView
        android:id="@+id/textView6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/placeworkstation"
        android:layout_marginLeft="28dp"
        android:text="Stockists Visited :"
        android:textSize="20dp"
        android:textStyle="bold" />

    <RelativeLayout
        android:id="@+id/stocklist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView6"
        android:layout_below="@+id/textView6"
        android:orientation="vertical" >

        <AutoCompleteTextView
            android:id="@+id/autoCompleteTextView2"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_marginTop="13dp"
            android:ems="10"
            android:hint="Stocklist Name" >
        </AutoCompleteTextView>

        <Spinner
            android:id="@+id/spinner3"
            android:layout_width="175dp"
            android:layout_height="45dp"
            android:layout_alignBottom="@+id/autoCompleteTextView2"
            android:layout_marginLeft="33dp"
            android:layout_toRightOf="@+id/autoCompleteTextView2" />

        <EditText
            android:id="@+id/editText1"
            android:layout_width="60dp"
            android:layout_height="45dp"
            android:layout_alignBaseline="@+id/autoCompleteTextView2"
            android:layout_alignBottom="@+id/autoCompleteTextView2"
            android:layout_marginLeft="15dp"
            android:layout_toRightOf="@+id/spinner3"
            android:ems="10"
            android:hint="Qty" />

        <EditText
            android:id="@+id/editText2"
            android:layout_width="145dp"
            android:layout_height="45dp"
            android:layout_alignTop="@+id/autoCompleteTextView2"
            android:layout_marginLeft="31dp"
            android:layout_toRightOf="@+id/editText1"
            android:ems="10"
            android:hint="Remarks" />

        <Button
            android:id="@+id/button1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="40dp"
            android:layout_height="45dp"
            android:layout_alignBaseline="@+id/editText2"
            android:layout_alignBottom="@+id/editText2"
            android:layout_marginLeft="13dp"
            android:layout_toRightOf="@+id/editText2"
            android:text="+" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/chemistlist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView6"
        android:layout_below="@+id/textView7"
        android:orientation="vertical" >

        <AutoCompleteTextView
            android:id="@+id/autoCompleteTextView3"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_marginTop="13dp"
            android:ems="10"
            android:hint="Chemist Name" />

        <EditText
            android:id="@+id/editText4"
            android:layout_width="145dp"
            android:layout_height="45dp"
            android:layout_alignParentTop="true"
            android:layout_alignRight="@+id/button2"
            android:layout_marginRight="63dp"
            android:ems="10"
            android:hint="Remarks" >
        </EditText>

        <Button
            android:id="@+id/button2"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="40dp"
            android:layout_height="45dp"
            android:layout_alignBaseline="@+id/editText4"
            android:layout_alignBottom="@+id/editText4"
            android:layout_marginLeft="472dp"
            android:layout_toRightOf="@+id/autoCompleteTextView3"
            android:text="+" />

        <EditText
            android:id="@+id/editText3"
            android:layout_width="60dp"
            android:layout_height="45dp"
            android:layout_alignTop="@+id/button2"
            android:layout_marginRight="16dp"
            android:layout_toLeftOf="@+id/editText4"
            android:ems="10"
            android:hint="Qty" />

        <Spinner
            android:id="@+id/spinner4"
            android:layout_width="175dp"
            android:layout_height="45dp"
            android:layout_alignTop="@+id/button2"
            android:layout_marginRight="19dp"
            android:layout_toLeftOf="@+id/editText3" />
    </RelativeLayout>

    <TextView
        android:id="@+id/textView8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView7"
        android:layout_below="@+id/chemistlist"
        android:layout_marginTop="12dp"
        android:text="Travel Expenses Detail :"
        android:textSize="20dp"
        android:textStyle="bold" />

    <RelativeLayout
        android:id="@+id/travelexpenses"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView6"
        android:layout_below="@+id/textView8"
        android:orientation="vertical" >

        <AutoCompleteTextView
            android:id="@+id/autoCompleteTextView4"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_marginTop="21dp"
            android:ems="10"
            android:hint="FROM" />

        <Button
            android:id="@+id/button3"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="40dp"
            android:layout_height="43dp"
            android:layout_alignBaseline="@+id/editText6"
            android:layout_alignBottom="@+id/editText6"
            android:layout_alignLeft="@+id/editText6"
            android:layout_marginLeft="125dp"
            android:text="+" />

        <Spinner
            android:id="@+id/spinner5"
            android:layout_width="175dp"
            android:layout_height="45dp"
            android:layout_alignBottom="@+id/autoCompleteTextView5"
            android:layout_marginLeft="13dp"
            android:layout_toRightOf="@+id/autoCompleteTextView5" />

        <AutoCompleteTextView
            android:id="@+id/autoCompleteTextView5"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_alignBaseline="@+id/autoCompleteTextView4"
            android:layout_alignBottom="@+id/autoCompleteTextView4"
            android:layout_marginLeft="37dp"
            android:layout_toRightOf="@+id/autoCompleteTextView4"
            android:ems="10"
            android:hint="TO" >
        </AutoCompleteTextView>

        <EditText
            android:id="@+id/editText6"
            android:layout_width="100dp"
            android:layout_height="40dp"
            android:layout_alignBaseline="@+id/editText5"
            android:layout_alignBottom="@+id/editText5"
            android:layout_marginLeft="42dp"
            android:layout_toRightOf="@+id/editText5"
            android:ems="10"
            android:hint="Km" />

        <EditText
            android:id="@+id/editText5"
            android:layout_width="100dp"
            android:layout_height="40dp"
            android:layout_alignBottom="@+id/spinner5"
            android:layout_marginLeft="15dp"
            android:layout_toRightOf="@+id/spinner5"
            android:ems="10"
            android:hint="AMOUNT" >
        </EditText>
    </RelativeLayout>

    <TextView
        android:id="@+id/textView9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView8"
        android:layout_below="@+id/travelexpenses"
        android:layout_marginTop="14dp"
        android:text="Miscelleneous Expenses Detail :"
        android:textSize="20dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/chemistlist"
        android:layout_centerVertical="true"
        android:text="Chemists Visited :"
        android:textSize="20dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView9"
        android:layout_alignBottom="@+id/textView9"
        android:layout_alignRight="@+id/travelexpenses"
        android:layout_marginRight="34dp"
        android:text="Daily Allowance Expenses Detail :"
        android:textSize="20dp"
        android:textStyle="bold" />

    <RelativeLayout
        android:id="@+id/miscelleneous"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView6"
        android:layout_below="@+id/textView9"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/editText7"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_marginTop="21dp"
            android:ems="10"
            android:hint="Amount" />

        <Button
            android:id="@+id/button4"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="40dp"
            android:layout_height="45dp"
            android:layout_alignTop="@+id/editText7"
            android:layout_marginLeft="276dp"
            android:layout_toRightOf="@+id/editText7"
            android:text="+" />

        <EditText
            android:id="@+id/editText8"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_alignTop="@+id/button4"
            android:layout_marginLeft="40dp"
            android:layout_toRightOf="@+id/editText7"
            android:ems="10"
            android:hint="Remarks" />
    </RelativeLayout>

    <TextView
        android:id="@+id/textView11"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_alignBottom="@+id/miscelleneous"
        android:layout_alignLeft="@+id/textView10"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="35dp"
        android:text="Total(INR):"
        android:textSize="20dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView12"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_alignBaseline="@+id/textView11"
        android:layout_alignBottom="@+id/textView11"
        android:layout_marginLeft="23dp"
        android:layout_toRightOf="@+id/textView11"
        android:text="TOTAL"
        android:textSize="20dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignRight="@+id/dayworkcategory"
        android:layout_marginRight="33dp"
        android:text="UPGRADE DRAFT" />

    <Button
        android:id="@+id/button6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/placeworkstation"
        android:text="SUBMIT LATER" />

</RelativeLayout>

我的用於擴大布局的代碼:

包abts.medismo.e_detailing;

import abts.medismo.e_detailing.Model.Spinmodel;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.Spinner;

public class DCR extends Activity {

    Spinner spinworkplan, spincategory, spinstockproduct, spinchemistproduct,
            spintravelmode;
    Spinner autostation, autostock, autochemist;
    String dbcatid, dbcatname, strcatname, spcatid, spcatname, strcatid;
    RelativeLayout stocklist;
    int i = 1;
    int count = 0;
    View rowView;
    private View mExclusiveEmptyView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dcrdummo);          

        spinworkplan = (Spinner) findViewById(R.id.spinner1);
        spincategory = (Spinner) findViewById(R.id.spinner2);
        spinstockproduct = (Spinner) findViewById(R.id.spinner3);
        spinchemistproduct = (Spinner) findViewById(R.id.spinner4);
        spintravelmode = (Spinner) findViewById(R.id.spinner5);

        stocklist = (RelativeLayout) findViewById(R.id.stocklist);

        DatabaseHandler dbh = new DatabaseHandler(DCR.this);
        SQLiteDatabase db = dbh.getWritableDatabase();
        final ArrayAdapter<Spinmodel> adapterWorkPlan = new ArrayAdapter<Spinmodel>(
                this, android.R.layout.simple_spinner_item);
        adapterWorkPlan
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adapterWorkPlan.add(new Spinmodel("Doctor Visit", "Doctor Visit"));
        adapterWorkPlan.add(new Spinmodel("Transit", "Transit"));
        adapterWorkPlan.add(new Spinmodel("Meeting", "Meeting"));
        adapterWorkPlan.add(new Spinmodel("Strike", "Strike"));
        adapterWorkPlan.add(new Spinmodel("Head Quarters", "Head Quarters"));
        adapterWorkPlan.add(new Spinmodel("Sales Closing", "Sales Closing"));
        adapterWorkPlan.add(new Spinmodel("Others", "Others"));
        spinworkplan.setAdapter(adapterWorkPlan);

        final ArrayAdapter<Spinmodel> adapterCategory = new ArrayAdapter<Spinmodel>(
                this, android.R.layout.simple_spinner_item);
        String strquery1 = "SELECT * FROM category";
        Cursor cursor = db.rawQuery(strquery1, null);
        if (cursor.getCount() != 0) {
            cursor.moveToFirst();
            do {
                dbcatid += "," + cursor.getString(0);
                dbcatname += "," + cursor.getString(1);
            } while (cursor.moveToNext());
        }
        System.out.println("dbCatid-->>" + dbcatid);
        System.out.println("dbCatName-->>" + dbcatname);
        if (dbcatname != null) {
            int pos = dbcatname.indexOf(",");
            int pos1 = dbcatid.indexOf(",");
            if (pos == pos1) {
                strcatid = dbcatid.substring(pos1 + 1);
                strcatname = dbcatname.substring(pos + 1);
            }
            String delimiter = "\\,";
            String[] catid = strcatid.split(delimiter);
            String[] catname = strcatname.split(delimiter);
            for (int i = 0; i < catid.length; i++) {
                spcatid = catid[i];
                spcatname = catname[i];
                adapterCategory.add(new Spinmodel(spcatname, spcatid));
            }
            spincategory.setAdapter(adapterCategory);
        }

        dbcatid = null;
        dbcatname = null;
        final ArrayAdapter<Spinmodel> adapterStockProduct = new ArrayAdapter<Spinmodel>(
                this, android.R.layout.simple_spinner_item);
        String strproductquery = "SELECT * FROM product";
        Cursor productcursor = db.rawQuery(strproductquery, null);
        if (productcursor.getCount() != 0) {
            productcursor.moveToFirst();
            do {
                dbcatid += "," + productcursor.getString(0);
                dbcatname += "," + productcursor.getString(1);
            } while (productcursor.moveToNext());
        }
        if (dbcatname != null) {
            int pos = dbcatname.indexOf(",");
            int pos1 = dbcatid.indexOf(",");
            if (pos == pos1) {
                strcatid = dbcatid.substring(pos1 + 1);
                strcatname = dbcatname.substring(pos + 1);
            }
            String delimiter = "\\,";
            String[] catid = strcatid.split(delimiter);
            String[] catname = strcatname.split(delimiter);
            for (int i = 0; i < catid.length; i++) {
                spcatid = catid[i];
                spcatname = catname[i];
                adapterStockProduct.add(new Spinmodel(spcatname, spcatid));
            }
            spinstockproduct.setAdapter(adapterStockProduct);
            spinchemistproduct.setAdapter(adapterStockProduct);
        }

        final ArrayAdapter<Spinmodel> adaptertravelmode = new ArrayAdapter<Spinmodel>(
                this, android.R.layout.simple_spinner_item);
        adaptertravelmode
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adaptertravelmode.add(new Spinmodel("TwoWheeler", "TwoWheeler"));
        adaptertravelmode.add(new Spinmodel("Bus", "Bus"));
        adaptertravelmode.add(new Spinmodel("Car", "Car"));
        adaptertravelmode.add(new Spinmodel("Train", "Train"));
        adaptertravelmode.add(new Spinmodel("Airlines", "Airlines"));
        spintravelmode.setAdapter(adaptertravelmode);

    }

    public void onAddNewClicked(View v) {

        count++;
        System.out.println("value of i: " + i);
        inflateEditRow(count);
        v.setVisibility(View.VISIBLE);
        System.out.println("value of count " + count);
    }

    private void inflateEditRow(int id) {
        i = id - 1;
        for (int j = i; j < id; j++) {

            System.out.println("value of j " + j);
            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            rowView = inflater.inflate(R.layout.dummaa, null);
            mExclusiveEmptyView = rowView;
            rowView.setId(id);
            stocklist.addView(rowView);
            // stocklist.addView(rowView, stocklist.getChildCount());

        }
    }

    public void onDeleteClicked(View v) {
        stocklist.removeView((View) v.getParent());
    }
}

在此處輸入圖片說明

我對您的代碼有些rowView = inflater.inflate(R.layout.dummaa, null); ,但是如果我rowView = inflater.inflate(R.layout.dummaa, null);您可能需要將主視圖作為rowView = inflater.inflate(R.layout.dummaa, null); 而不是傳遞null。

暫無
暫無

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

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