您的位置:首页 > 移动开发 > Android开发

Android相对布局+圆角按钮+Shape样式

2014-06-10 16:58 363 查看
又开始了android布局的学习,经过之前的书籍的浏览,大体了解了,看的时候就会联想到qt的布局,其实很多布局模型的大同小异,什么帧布局、线性布局、相对布局、绝对布局啊之类的,总是想要彻底了解还是挺麻烦的,而且学习过程中需要了解一些尺寸的知识,像dip、px、sp这些东西之后,进行参数的设置时才会比较有概念,我是不行了。呵呵............

我打算做个相对布局的模型,之后基于这个模型进行一系列的学习【包括横竖屏、控件动画等】,实现一些简单的功能,加深对一些理论的实践性的理解;一步一步来吗!

这个就是今天的一个小效果,感谢网友的分享,让我学到了很多,最重要的一点就是当我发现效果和想的不一样的时候,开始找资料,各种试试,然后回过头来看手册的参数说明,才想到设置一个参数就能解决问题,此时还是很高兴的,体会过程,都是经验啊!!!

总体效果就是这样【UI很丑】:



相对布局文件【文中注释的地方就是后来发现需要这样才可以达到效果、菜鸟一个、所以才纠结这么久】:res/layout/center.xml

点击(此处)折叠或打开

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

android:background="@drawable/back_ground" >

<RelativeLayout

android:id="@+id/RelativeLayout_with_center"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

<!-- 屏幕中心按钮设置 android:layout_centerInParent="true" -->

<Button

android:id="@+id/center_menu_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:background="@drawable/button" />

<!-- 屏幕中心按钮左侧按钮,此时需要设置垂直居中 android:layout_centerVertical="true" -->

<Button

android:id="@+id/left_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:layout_toLeftOf="@+id/center_menu_button"

android:background="@drawable/round_button"

android:text="亲,评价" />

<!-- 屏幕中心按钮右侧侧按钮,此时需要设置垂直居中 android:layout_centerVertical="true" -->

<Button

android:id="@+id/right_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:layout_toRightOf="@+id/center_menu_button"

android:background="@drawable/round_button"

android:text="退出游戏" />

<!-- 屏幕中心按钮上方按钮,此时需要设置水平居中 android:layout_centerHorizontal="true" -->

<Button

android:id="@+id/top_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_above="@+id/center_menu_button"

android:background="@drawable/round_button"

android:text="进入游戏" />

<!-- 屏幕中心按钮下方按钮,此时需要设置水平居中 android:layout_centerHorizontal="true" -->

<Button

android:id="@+id/below_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_below="@+id/center_menu_button"

android:background="@drawable/round_button"

android:text="关于我们" />

</RelativeLayout>

</LinearLayout>

中心按钮样式文件: res/drawable-hdpi/button.xml

点击(此处)折叠或打开

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

<!-- 获得焦点但未按下时的背景图片 -->

<!-- <item android:state_focused="true" android:state_enabled="true" android:state_pressed="false" android:drawable="@drawable/user_selecte_n" /> -->

<!-- 按下时的背景图片 -->

<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/center_light" />

<!-- 按下时的背景图片 -->

<!-- <item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/center_light" /> -->

<!-- 默认时的背景图片 -->

<item android:drawable="@drawable/center" />

</selector>

四边按钮样式文件: res/drawable-hdpi/round_button.xml

点击(此处)折叠或打开

<?xml version="1.0" encoding="UTF-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="false">

<shape android:shape="rectangle" >

<!-- 填充的颜色 -->

<solid android:color="#0FFFFF" />

<!-- 设置按钮的四个角为弧形 -->

<!-- android:radius 弧形的半径 -->

<corners android:radius="15dip" />

<!-- padding:Button里面的文字与Button边界的间隔 -->

<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />

</shape>

</item>

<item android:state_pressed="true">

<shape android:shape="rectangle">

<solid android:color="#FFFF0F" />

<corners android:radius="15dip" />

</shape>

</item>

</selector>

至于背景啊、名称啥的,都知道....然后还是留一份图片资源到网盘吧,省的系统重装了,还得现搜......

http://pan.baidu.com/share/link?shareid=3336646398&uk=3927989065
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: