1

我正在开发一个需要显示一些用户联系信息的应用程序,例如姓名、电话号码、短信按钮和家庭住址。我真的很喜欢 Jellybean 中的 People 应用程序在联系信息页面中显示此信息的方式。我查看了 github 上的开源代码,但我理解起来非常混乱。谁能解释一下 xml 布局是如何构建的,以便我可以在我的应用程序中获得相同的功能?

4

4 回答 4

2
<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">
    <LinearLayout 
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:background="#2FC9EC"
        android:gravity="center_vertical">
        <ImageView 
           android:id="@+id/image1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:src="@drawable/back"/>        
        <TextView 
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="Title"
            android:textSize="20dp"
            android:textColor="#FFFFFF"/>        
    </LinearLayout>    
    <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="200dp"
                    android:orientation="horizontal">       
                        <ImageView 
                            android:id="@+id/image1"
                            android:layout_width="250dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"/>       
                        <ImageView 
                            android:id="@+id/image1"
                            android:layout_width="250dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"/>
                </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="PHONE"
                             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:layout_height="wrap_content"
                            android:layout_width="wrap_content"
                            android:text="65656565"
                            android:textSize="20dp"
                            android:textColor="#696969"
                            android:layout_marginBottom="5dp"/>
                      <TextView 
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:text="MOBILE"
                        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">
              <ImageView 
               android:id="@+id/image1"
               android:layout_width="50dp"
               android:layout_height="50dp"
               android:src="@drawable/ic_launcher"/>            
              </LinearLayout>
            </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="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"/>    
           <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="20dp"/>
              <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="IM"
                    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>
于 2013-07-19T12:10:32.957 回答
2

这可能会帮助您处理顶部的可滑动页面和两张图片:http ://www.androidviews.net/2013/03/tab-carousel-library/

通过将以下属性添加到 TextView 来创建带有下划线的蓝色标签: style="?android:attr/listSeparatorTextViewStyle"

于 2013-07-19T19:23:11.427 回答
0

您发布的屏幕截图是(伪代码)

<linearlayout>
  <scrollview>
    <linearlayout>
         <viewpager/>
         <relative or linearlayout>
              <title component/>
              <mobilenumber component/>
              <title component/>
              <listview/> (filled with email component)
              <title component/>
              <listview/> (filled with different components i guess)
         </relative or linearlayout>
     </linearLayout>
  </scrollview>
</linearlayout>

我假设你知道如何设计组件

于 2013-07-17T09:48:11.200 回答
-6

约翰,联系人应用程序是由 Google 的专家编写的,所以我不会用它来开始学习布局。

如果您有 Web 经验,可以考虑在 WebView 中编写您的第一个版本。许多 Android 应用程序都是通过使用 HTML 的 UI 编写的。

否则,我将从更简单的 XML 开始。您发布的屏幕截图基本上是一堆垂直堆叠的元素。查看方向=“垂直”。

于 2013-07-18T03:30:57.037 回答