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