如何将元素放在另一个旁边?

时间:2015-05-15 13:35:59

标签: android android-layout android-linearlayout android-relativelayout

我想将atendenteBalaoProdutoValor元素放在atendenteBalaoProdutoNomeatendenteBalaoProduto2下方atendenteBalaoProdutoNome旁边。为此,我尝试了这个:

atendente.xml

<?xml version="1.0" encoding="utf-8"?>
<merge
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <!--  
<ImageView
    style="@style/imagemAtendente"
    android:id="@+atendente/imgAtendente"/>-->

<RelativeLayout
    style="@style/layoutAtendenteBalao"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+atendente/rltAtendenteBalao">

    <TextView
        style="@style/campoAtendenteBalaoTexto"
        android:id="@+atendente/txtTexto"/>

    <!-- Venda Orientada -->
    <RelativeLayout
        style="@style/atendenteBalaoVO"
        android:layout_width="match_parent"
        android:id="@+atendente/rltAtendenteBalaoVO">"

        <TextView
            style="@style/atendenteBalaoVOTexto1"
            android:id="@+atendente/txtAtendenteBalaoVOTexto1"/>

        <LinearLayout
            style="@style/atendenteBalaoVOTextoQuantidadeTexto2">"

            <EditText
                style="@style/atendenteBalaoVOQuantidade"
                android:id="@+atendente/txtAtendenteBalaoVOQuantidade"/>

            <TextView
                style="@style/atendenteBalaoVOTexto2"
                android:id="@+atendente/txtAtendenteBalaoVOTexto2"/>

        </LinearLayout>

        <Button
            style="@style/atendenteBalaoVOMais"
            android:id="@+atendente/btnAtendenteBalaoVOMais"/>

        <Button
            style="@style/atendenteBalaoVOMenos"
            android:id="@+atendente/btnAtendenteBalaoVOMenos"/>

    </RelativeLayout>

    <RelativeLayout
        style="@style/atendenteBalaoProduto"
        android:id="@+atendente/lnrProduto">

        <!-- Nome do Produto -->
        <TextView
            style="@style/atendenteBalaoProdutoNome"
            android:id="@+atendente/txtProdutoNome"
            android:layout_alignParentLeft="true"
            android:layout_toLeftOf="@+id/txtProdutoValor"/>

        <!-- Descrição do produto 
        <LinearLayout
            style="@style/atendenteBalaoProduto1"
            android:id="@+atendente/lnrAtendenteBalaoProduto1">

            <ImageView
                style="@style/atendenteBalaoProdutoImagem"
                android:id="@+atendente/imgProduto"/>

            <TextView
                style="@style/atendenteBalaoProdutoDescricao"
                android:id="@+atendente/txtProdutoDescricao"/>

        </LinearLayout>-->         

        <!-- Valor do produto -->
        <TextView
            style="@style/atendenteBalaoProdutoValor"
            android:id="@+atendente/txtProdutoValor"
            android:layout_alignParentRight="true"/>

        <LinearLayout
            style="@style/atendenteBalaoProduto2"
            android:id="@+atendente/lnrProdutoQuantidade"
            android:focusableInTouchMode="true"
            android:layout_below="@+id/txtProdutoNome">

            <TextView
                style="@style/atendenteBalaoProdutoRotuloQuantidade"
                android:id="@+atendente/txtProdutoQuantidadeRotulo"/>

            <EditText
                style="@style/atendenteBalaoProdutoQuantidade"
                android:id="@+atendente/txtProdutoQuantidade"
                android:inputType="numberDecimal"
                android:digits="0123456789,." 
                android:imeOptions="actionDone"/>

            <TextView
                style="@style/atendenteBalaoProdutoUnidade"
                android:id="@+atendente/txtProdutoUnidade"/>

            <Button
                style="@style/atendenteBalaoProdutoMenosMais"
                android:id="@+atendente/btnQtdeMenos"
                android:text="-"/>

            <Button
                style="@style/atendenteBalaoProdutoMenosMais"
                android:id="@+atendente/btnQtdeMais"
                android:text="+"/>

        </LinearLayout>

    </RelativeLayout>    

</RelativeLayout>

styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="layoutAtendente">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">300px</item>
    <item name="android:layout_alignParentRight">true</item>
    <item name="android:layout_alignParentBottom">true</item>
</style>

<style name="layoutAtendenteBalao">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">120px</item>
<!--<item name="android:layout_alignParentRight">true</item>
    <item name="android:layout_alignParentBottom">true</item>
    <item name="android:layout_marginRight">104px</item>-->
    <item name="android:layout_marginBottom">83px</item>
    <item name="android:background">@drawable/borda_balao</item>
<!--<item name="android:paddingLeft">4dp</item>
    <item name="android:paddingRight">4dp</item>-->
    <item name="android:paddingTop">3dp</item>
<!--<item name="android:paddingBottom">3dp</item>-->
</style>

<style name="campoAtendenteBalaoTexto">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">match_parent</item>
    <item name="android:gravity">center</item>
    <item name="android:textSize">14dp</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:layout_marginBottom">10dp</item>
</style>

<!--<style name="imagemAtendente">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_alignParentRight">true</item>
    <item name="android:layout_alignParentBottom">true</item>
    <item name="android:layout_marginBottom">50px</item>
    <item name="android:src">@drawable/d1024_600_atendente</item>
</style>-->

<style name="atendenteBalaoProduto">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_alignParentTop">true</item>
    <item name="android:layout_alignParentLeft">true</item>
    <item name="android:orientation">vertical</item>
    <item name="android:visibility">invisible</item>
</style>

<style name="atendenteBalaoProduto1">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">100px</item> <!-- wrap_content -->
    <item name="android:layout_marginTop">2dp</item>
    <item name="android:layout_alignParentLeft">true</item>
    <item name="android:orientation">horizontal</item>
</style>

<style name="atendenteBalaoProduto2">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginTop">8dp</item>
    <item name="android:layout_marginLeft">20px</item>
    <item name="android:orientation">horizontal</item>
</style>

<style name="atendenteBalaoProdutoNome">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textSize">14dp</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:textStyle">bold</item>
    <item name="android:layout_marginTop">13dp</item>
    <item name="android:layout_marginLeft">5dp</item>
</style>

<style name="atendenteBalaoProdutoImagem">
    <item name="android:layout_width">35px</item>
    <item name="android:layout_height">35px</item>
    <item name="android:layout_marginTop">2dp</item>
    <item name="android:layout_marginBottom">2dp</item>
    <item name="android:layout_marginRight">5dp</item>
    <item name="android:maxWidth">120dp</item>
    <item name="android:maxHeight">85dp</item>
    <item name="android:adjustViewBounds">true</item>
</style>

<style name="atendenteBalaoProdutoValor">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textSize">14dp</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:textStyle">bold</item>
</style>

<style name="atendenteBalaoProdutoDescricao">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">match_parent</item>
    <item name="android:gravity">center</item>
    <item name="android:textSize">14dp</item>
    <item name="android:textColor">@color/black</item>
</style>

<style name="atendenteBalaoProdutoRotuloQuantidade">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginRight">5dp</item>
    <item name="android:textSize">14dp</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:text">Quantidade</item>
</style>

<style name="atendenteBalaoProdutoQuantidade">
    <item name="android:layout_width">50dp</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginRight">10dp</item>
    <item name="android:singleLine">true</item>
    <item name="android:textSize">16dp</item>
    <item name="android:textColor">#ff000000</item>
    <item name="android:digits">1234567890</item>
    <item name="android:maxLength">5</item>
    <item name="android:text">999</item>
</style>

<style name="atendenteBalaoProdutoUnidade">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginRight">5dp</item>
    <item name="android:textSize">14dp</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:textStyle">bold</item>
</style>

<style name="atendenteBalaoProdutoMenosMais">
    <item name="android:layout_width">90px</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginRight">5dp</item>
    <item name="android:textSize">20dp</item>
    <item name="android:textColor">#ff000000</item>
</style>

<style name="atendenteBalaoVO">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">match_parent</item>
    <item name="android:visibility">gone</item>
</style>

<style name="atendenteBalaoVOTexto1">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_centerHorizontal">true</item>
    <item name="android:layout_marginTop">8dp</item>
    <item name="android:gravity">center</item>
    <item name="android:textSize">20sp</item>
    <item name="android:textColor">@color/black</item>
</style>

<style name="atendenteBalaoVOTextoQuantidadeTexto2">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_alignParentLeft">true</item>
    <item name="android:layout_below">@atendente/txtAtendenteBalaoVOTexto1</item>
    <item name="android:orientation">horizontal</item>
</style>

<style name="atendenteBalaoVOQuantidade">
    <item name="android:layout_width">50dp</item>
    <item name="android:layout_height">50dp</item>
    <item name="android:gravity">center</item>
    <item name="android:singleLine">true</item>
    <item name="android:textSize">20sp</item>
    <item name="android:textColor">#ff000000</item>
    <item name="android:textStyle">bold</item>
    <item name="android:digits">1234567890</item>
    <item name="android:maxLength">5</item>
    <item name="android:inputType">number</item>
    <item name="android:imeOptions">actionDone</item>
    <item name="android:padding">4dp</item>
</style>

<style name="atendenteBalaoVOTexto2">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:gravity">center</item>
    <item name="android:textSize">20sp</item>
    <item name="android:textColor">@color/black</item>
</style>

<style name="atendenteBalaoVOMais">
    <item name="android:layout_width">60dp</item>
    <item name="android:layout_height">60dp</item>
    <item name="android:layout_alignParentBottom">true</item>
    <item name="android:layout_alignParentRight">true</item>
    <item name="android:textSize">20sp</item>
    <item name="android:textColor">#ff000000</item>
    <item name="android:text">+</item>
</style>

<style name="atendenteBalaoVOMenos">
    <item name="android:layout_width">60dp</item>
    <item name="android:layout_height">60dp</item>
    <item name="android:layout_alignParentBottom">true</item>
    <item name="android:layout_toLeftOf">@atendente/btnAtendenteBalaoVOMais</item>
    <item name="android:textSize">20sp</item>
    <item name="android:textColor">#ff000000</item>
    <item name="android:text">-</item>
</style>

</resources>

但它是这样的:

enter image description here

而不是:

enter image description here

1 个答案:

答案 0 :(得分:1)

嗯,您遇到问题的原因是您正在混合对ID的引用。有些看起来像这样:

android:id="@+atendente/txtProdutoNome"

有些看起来像这样:

android:layout_below="@+id/txtProdutoNome"

所以这里有一个不匹配的地方。如果你只是在第一次出现ID(通常是你定义它的地方)的“@”之后添加“+”,而不是每次引用都会在编译时发现这些问题。

除非您有令人信服的理由,否则您的所有身份证都应以“id /”为前缀而不是“atendente /”。