Android上Mac样式的按钮

By | 2011/07/23

最近试着玩玩Android开发,做一个小玩意儿的时候,总感觉默认的按钮样式太糟糕,看到网上几幅IPhone截图,觉得按钮有点感觉,就想着抄一个过来……相当的没有技术含量,只不过记性不好,记录一下。

PhotoShop上的准备

用简单的方法,设置background图片。

  1. 先渐变填充圆角矩形(半径4左右),渐变的首尾颜色自己定好了,不过过渡位置我试了下,大约是上图1所示,在40%和60%增加两个色标,值为首尾之差的1/3和2/3。
  2. 做出立体效果和阴影,如2所示
  3. 做出边框线,如3所示
  4. 然后调两个亮一点和暗一点的(没用过IPhone不知道有焦点和按下时什么样子我这里就偷懒弄个明暗变化)按钮。

应用到按钮上

在drawable里定义一个式样文件

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true" android:drawable="@drawable/game_button_pressed" />
  <item android:state_focused="true" android:drawable="@drawable/game_button_focused" />
  <item android:drawable="@drawable/game_button_normal" />
</selector>

然后按钮的background指向它,这就完了~~

追记

后来看到一种完全用XML定义按钮的方法,靠谱,虽然变化好像有些单调,但可以不用图片毕竟是好事,先记录一下方法,有空试试~

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:state_pressed="true">
		<shape>
			<gradient android:startColor="#0d76e1" android:endColor="#0d76e1" android:angle="270" />
			<stroke android:width="1dip" android:color="#f403c9" />
			<corners android:radius="2dp" />
			<padding android:left="10dp" android:top="10dp"
				android:right="10dp" android:bottom="10dp" />
		</shape>
	</item>

	<item android:state_focused="true">
		<shape>
			<gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7" android:angle="270" />
			<stroke android:width="1dip" android:color="#f403c9" />
			<corners android:radius="2dp" />
			<padding android:left="10dp" android:top="10dp"
				android:right="10dp" android:bottom="10dp" />
		</shape>
	</item>

	<item>
		<shape>
			<gradient android:startColor="#000000" android:endColor="#ffffff" android:angle="180" />
			<stroke android:width="1dip" android:color="#f403c9" />
			<corners android:radius="5dip" />
			<padding android:left="10dp" android:top="10dp"
				android:right="10dp" android:bottom="10dp" />
		</shape>
	</item>
</selector>

One thought on “Android上Mac样式的按钮

  1. Keli

    Herne1n Guillermo Enriquez j. / Un nuevo camino cnozemia, vamos por la vida de un pais que se puede transformar y lograr que sea para vivir y convivir con la gente que si quiere trabajar y encontrar nuevas ideas de cambio. Mucha suerte, y los mejores exitos en esta tarea que se emprende en el senado. Siempre palba4nte.Memo

    Reply

发表评论

您的电子邮箱地址不会被公开。