技术开发 频道

Android开发者的Web界面设计启示录

  Android 中关于层的设计

  在CSS的页面设计中,经常使用到层的概念,比如使用position:absolute可以实现页面中各元素之间互相的位置精确定位,而在Android 中,同样可以使用FrameLayout布局进行界面的布局设计,其中使用layout_gravity属性,可以表明在该布局空间中,各子控件的摆放的位置,下图是一个使用FrameLayout布局的界面示意图,其中包含了三个不同的子控件

Android开发者的Web界面设计启示录

  下图则是其垂直剖面图:

Android开发者的Web界面设计启示录 

  下面是实现的Android 代码:

   <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width
="300dp"
    android:layout_height
="200dp">

    
<!—最下面的子控件,位置是底端靠右对齐 -->
    
<View android:layout_gravity="bottom|right"
        android:layout_width
="100dp"
        android:layout_height
="150dp" />

    
<!—中间的子控件,位置是顶端靠左对齐 -->
    
<View android:layout_gravity="top|left"
        android:layout_width
="200dp"
        android:layout_height
="175dp" />

    
<!—最顶端的子控件,位置是顶端靠左对齐—>
    
<View android:layout_gravity="top|left"
        android:layout_width
="100dp"
        android:layout_height
="match_parent" />

</FrameLayout>

  如何控制滚动的内容

  接下来,我们看下在Android 中,如何实现控制滚动的内容显示。在通过浏览器浏览的网页中,浏览器中有自带的滚动条,让用户可以自由上下拖动进行观看。而在Android中,默认并不提供滚动条,但不少控件中都提供了滚动的功能,比如listview和EditText文本框等,而且可以在界面布局外再嵌套一层ScrollView或者HorizontalScrollView。

  此外,还可以使用一些view中的scroll方法,比如View.scrollTo或者象小插件

  Scroller(http://developer.android.com/reference/android/widget/Scroller.html)等,对于水平布局界面的滚动(比如图库的左右滚动),则可以使用象一些很不错的开源的实现方法去解决(比如http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html一文中介绍的)。

  下图是在一个scrollview中包含了一个显示文本的区域,图中讲解了其相关位置关系

Android开发者的Web界面设计启示录

  相关的实现代码如下:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width
="match_parent"
    android:layout_height
="match_parent">

    
<!-- the scrollable content -->
    
<TextView android:layout_gravity="bottom|right"
        android:layout_width
="match_parent"
        android:layout_height
="wrap_content"
        android:padding
="32dp"
        android:textSize
="48sp"
        android:text
="The\nquick\nbrown\nfox\njumps\nover..." />

</ScrollView>
0
相关文章