3

我正在開發一個類似人員詳細視圖的活動的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

回答

1

要開發的觀點似乎是一個好的候選人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

相關問題