Tecnologia do Blogger.
RSS

[androidbrasil-dev] Problema Layout com ListView dinâmico, layout com scrollview e botões fixos no rodapé.

Pessoal, estou tentando montar o seguinte layout:


O listview abaixo do botão de itens é carregado dinâmicamente pelo getView do adapter.

Já os botões Salvar e Cancelar eu gostaria que ficassem como os botões de quando você adiciona um Novo Contato, fixos no rodapé independentemente do scroll.
Mas não estou conseguindo, eu li algumas orientações em foruns para colocar um layout Linear com orientação horizontal por fora e um outro dentro do horizontal com orientação vertical para os componentes, mas não deu certo.
Outra coisa geralmente os botões estouram o tamanho então eles não aparecerem, só que se eu colocar um scrollview por fora do layout principal também dá conflito com o listview.

Teria alguma maneira de montar este layout ou eu teria de trocar para outro tipo de layout? Ou o problema está no meu inflate do listview dentro do getView?

Se alguém puder me ajudar eu ficarei grato, segue código do layout + getView:

<?xml version="1.0" encoding="utf-8"?>    

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@color/dp_blue"

android:orientation="vertical" 

android:paddingTop="15dip">


  <!-- Código Pedido -->

  

  <TextView

    android:id="@+id/txtCodPedido"

  android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:layout_marginLeft="5dp"

      android:text="@string/codigoPedido"

      android:textAppearance="?android:attr/textAppearanceMedium"/>

       

<EditText

android:id="@+id/edtCodPedido"

    android:layout_width="170dp"

    android:layout_height="wrap_content"

    android:inputType="number">

</EditText>

  

  <!-- Cliente -->

  

  <TextView

    android:id="@+id/txtCliente"

  android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:layout_marginLeft="5dp"

      android:text="@string/clientePed"

      android:textAppearance="?android:attr/textAppearanceMedium">

      <requestFocus />

  </TextView>

  

  <Button

      android:id="@+id/btnListaCliente"

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:text="@string/clienteList"/>

<!-- Data Pedido -->

<TextView

    android:id="@+id/txtDataPedido"

  android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:layout_marginLeft="5dp"

      android:text="@string/dataPed"

      android:textAppearance="?android:attr/textAppearanceMedium"/>

<EditText

    android:id="@+id/edtDataPedido"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:ems="10"

    android:inputType="date"/>

<!-- Total Pedido -->

<TextView

    android:id="@+id/txtTotalPedido"

  android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:layout_marginLeft="5dp"

      android:text="@string/totalPedido"

      android:textAppearance="?android:attr/textAppearanceMedium"/>

<EditText

android:id="@+id/edtTotalPedido"

    android:layout_width="140dp"

    android:layout_height="wrap_content"

    android:inputType="numberDecimal"/>

   

<!-- Itens -->

<TableRow

       android:id="@+id/tblRowItemAddItem"

       android:layout_width="match_parent"

       android:layout_height="wrap_content"

       android:layout_marginTop="10dp"

       android:gravity="center">

<TextView

      android:id="@+id/txtItens"

    android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:layout_marginLeft="5dp"

       android:text="@string/itensPed"

       android:textAppearance="?android:attr/textAppearanceMedium"/>

<Button

       android:id="@+id/btnAdicionarItem"

       android:layout_width="50dp"

       android:layout_height="wrap_content"

       android:text="@string/addItem"

       android:textColor="@color/dp_green"

       android:textSize="20dp"/>

</TableRow>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@color/dp_blue"

android:orientation="horizontal" >

<ListView

    android:id="@+id/listItens"

    android:layout_width="match_parent"

    android:layout_height="65dp">

</ListView>

</LinearLayout>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

   android:layout_width="fill_parent"

   android:layout_height="fill_parent"

   android:background="@color/dp_blue"

   android:orientation="horizontal" 

   android:paddingTop="15dip">

<Button

      android:id="@+id/btnSalvar"

      android:layout_width="160dp"

      android:layout_height="wrap_content"

      android:text="@string/btnSalvar"/>

     

  <Button

      android:id="@+id/btnCancelar"

      android:layout_width="160dp"

      android:layout_height="wrap_content"

      android:text="@string/btnCancelar"/>

     

</LinearLayout>


</LinearLayout>

GetView:

public View getView(int position, View convertView, ViewGroup parent) {

View v;

PedidoItem pedItem = pedItens.get(position);

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

v = inflater.inflate(R.layout.listaitens, null);

        

TextView item = (TextView) v.findViewById(R.id.txtItens);

item.setText(pedItem.get_Item() + " Produto: " + pedItem.get_Produto() + " Valor: " + pedItem.get_Total());

return v;

}


Obrigado desde já.


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário