Android人的应用程序的详细信息视图开发

问题描述:

我正在开发一个类似人员详细视图的活动的Android应用程序,但我不知道如何显示电子邮件,电话和其他数据的列表,因为我正在检索来自数据库的信息,我需要实现与人员应用程序相同的布局。Android人的应用程序的详细信息视图开发

enter image description here

我试过到目前为止:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/main_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 
      <HorizontalScrollView 
       android:id="@+id/hori_scroll" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"> 
       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="horizontal"> 

       </LinearLayout> 
      </HorizontalScrollView> 
      <LinearLayout 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 
       <LinearLayout 
        android:orientation="vertical" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_marginLeft="15dp" 
        android:layout_marginTop="10dp" 
        android:layout_marginRight="10dp" 
        android:layout_marginBottom="10dp"> 
        <TextView 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="DADOS DO CLIENTE" 
         android:textSize="20dp" 
         android:textColor="#50A7B3" 
         android:layout_marginBottom="5dp"/> 
        <View 
         android:layout_height="1dp" 
         android:layout_width="match_parent" 
         android:background="#728C93"/> 
        <LinearLayout 
         android:orientation="horizontal" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content"> 
         <LinearLayout 
          android:layout_marginTop="10dp" 
          android:orientation="vertical" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:gravity="left" 
          android:layout_weight="0.60"> 
          <TextView 
           android:id="@+id/nome" 
           android:layout_height="wrap_content" 
           android:layout_width="wrap_content" 
           android:text="NomeCliente" 
           android:textSize="20dp" 
           android:textColor="#696969" 
           android:layout_marginBottom="5dp"/> 
          <TextView 
           android:id="@+id/tipoPessoa" 
           android:layout_height="wrap_content" 
           android:layout_width="wrap_content" 
           android:text="" 
           android:textSize="20dp" 
           android:textColor="#6D6D6D" 
           android:layout_marginBottom="5dp"/> 
         </LinearLayout> 
         <LinearLayout 
          android:layout_marginTop="10dp" 
          android:orientation="vertical" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:gravity="right" 
          android:layout_weight="0.40"> 

         </LinearLayout> 
        </LinearLayout> 
        <TextView 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="ENDEREÇO" 
         android:textSize="20dp" 
         android:textColor="#50A7B3" 
         android:layout_marginBottom="5dp" 
         android:layout_marginTop="10dp"/> 
        <View 
         android:layout_height="1dp" 
         android:layout_width="match_parent" 
         android:background="#728C93"/> 
        <TextView 
         android:id="@+id/enderecoId" 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:visibility="gone" 
         android:textSize="20dp" 
         android:textColor="#696969" 
         android:layout_marginBottom="5dp" 
         android:layout_marginTop="10dp"/> 
        <TextView 
         android:id="@+id/endereco" 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="xxxxxxxxxxxxxx" 
         android:textSize="20dp" 
         android:textColor="#696969" 
         android:layout_marginBottom="5dp" 
         android:layout_marginTop="10dp"/> 
        <TextView 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="TELEFONE" 
         android:textSize="20dp" 
         android:textColor="#50A7B3" 
         android:layout_marginBottom="5dp" 
         android:layout_marginTop="10dp"/> 
        <View 
         android:layout_height="1dp" 
         android:layout_width="match_parent" 
         android:background="#728C93"/> 
        <TextView 
         android:id="@+id/telefone" 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="xxxxxxxxx" 
         android:textSize="20dp" 
         android:textColor="#6D6D6D" 
         android:layout_marginBottom="5dp"/> 
        <LinearLayout 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 
         <ListView android:id="@id/android:list" 
          android:layout_width="fill_parent" 
          android:layout_height="fill_parent"/> 
         <TextView android:id="@id/android:empty" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Empty"/> 
        </LinearLayout> 


        <TextView 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="EMAIL" 
         android:textSize="20dp" 
         android:textColor="#50A7B3" 
         android:layout_marginBottom="5dp" 
         android:layout_marginTop="10dp"/> 
        <View 
         android:layout_height="1dp" 
         android:layout_width="match_parent" 
         android:background="#728C93"/> 
        <TextView 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="xxxxxxxxx" 
         android:textSize="20dp" 
         android:textColor="#6D6D6D" 
         android:layout_marginBottom="5dp"/> 
        <TextView 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="CONTATOS" 
         android:textSize="20dp" 
         android:textColor="#50A7B3" 
         android:layout_marginBottom="5dp" 
         android:layout_marginTop="10dp"/> 
        <View 
         android:layout_height="1dp" 
         android:layout_width="match_parent" 
         android:background="#728C93"/> 
        <TextView 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="xxxxxxxxxxxxxx" 
         android:textSize="20dp" 
         android:textColor="#696969" 
         android:layout_marginBottom="5dp" 
         android:layout_marginTop="10dp"/> 
        <TextView 
         android:layout_height="wrap_content" 
         android:layout_width="wrap_content" 
         android:text="xxxxxxxxx" 
         android:textSize="20dp" 
         android:textColor="#6D6D6D" 
         android:layout_marginBottom="5dp"/> 
       </LinearLayout> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

详情:

lv = (ListView) findViewById(R.id.lista); 

     tel = new ArrayList<TelefoneModel>(); 



      Repositorio mRepositorioTelefones = new Repositorio(this); 
      List mTelefones = mRepositorioTelefones.getTelefonesDoCliente(Integer.valueOf(rm_IdCliente)); 


      tel = mTelefones; 

      ads = new TelefoneViewAdapter(getApplicationContext(), this, tel); 

      telAdapter(true); 


      lv.setAdapter(ads); 

列表视图:

      <LinearLayout 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content"> 
          <ListView android:id="@id/android:list" 
           android:layout_width="fill_parent" 
           android:layout_height="fill_parent"/> 
          <TextView android:id="@id/android:empty" 
           android:layout_width="wrap_content" 
           android:layout_height="wrap_content" 
           android:text="Empty"/> 
         </LinearLayout> 
+1

它采用分段式的ListView,每个部分作为标题(电话,电子邮件,IM)。您必须用GROUP BY语句查询数据库,我不知道“kind”列的名称,要知道您正在阅读的是什么类型的信息(电子邮件,电话,即时消息等)。 – 2014-10-06 07:51:45

+0

@DavidCorsalini是否有一个该实现的在线示例? – jgandroid 2014-10-06 13:32:13

+0

http://javatechig.com/android/listview-with-section-header-in-android 首先谷歌结果。 – 2014-10-06 13:41:18

要开发的观点似乎是一个好的候选人ViewPager。顶部将是ViewPager

布局管理器,允许用户通过 数据页面左右翻转。

至于其下的蓝线“手机”,它是一个TextView与部分分隔符。你可以做到这一点,如下所示:

<TextView 
    android:id="@+id/address_label" 
    style="?android:attr/listSeparatorTextViewStyle" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Address"/> 

来源:Adding "section dividers" to my layout?

+0

好的,但如果有超过1个手机可以显示,我必须使用列表视图来显示吗? – jgandroid 2014-10-02 19:33:40

+0

@jgandroid在同一屏幕上有多个联系人?怎么会这样? :/ – 2014-10-02 19:34:20

+0

像上面的图片,它有2封电子邮件,这些电子邮件是在一个listview或不是?事情是,我有一个联系活动,当用户点击一个联系人时,他需要联系人详细的活动,并在此活动中显示电话,电子邮件等... – jgandroid 2014-10-02 19:40:02