-09-19 08:36 30147人阅读 评论(0) 收藏 举报 转自:/xyylchq/article/details/6788761
圆形 ,手机上显示圆形,效果很好,上面截屏变形了(看起来是椭圆)一开始想到的是自定义View,倒腾了好几天,也没弄好,主要是卡在自定义View的点击事件。在查自定义view点击事件实现的过程中发现了shape,如获至宝,此方法很简单,效果很棒,代码如下
这里介绍2种改变Button形状的方法,一个是直接通过设置一张圆形背景图片,
另一种方法是通过引用自定义的shape 文件。具体参见如下:
--------main_menu_btnshape.xml 自定义形状xml文件
<?xml version="1.0"encoding="utf-8"?>
<shape
xmlns:android="/apk/res/android"
android:shape="oval">
<!-- 填充的颜色 -->
<solid android:color="#FFFFFF"/>
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="360dip"/>
<!-- padding: Button 里面的文字与Button边界的间隔 -->
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"
/>
</shape>
-----Main layout文件
<?xml version="1.0"encoding="utf-8"?>
<LinearLayout xmlns:android="/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/soft_info"
/>
<!—直接设置背景 -->
<Button
android:id="@+id/roundBtn1"
android:background="@drawable/btn_oval"
android:layout_width="50dip"
android:layout_height="50dip"Button的宽高设置成一样,就成圆形
/>
<!— 调用shape自定义xml文件 -->
<Button
android:id="@+id/roundBtn"
android:text="椭圆按钮"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/main_menu_btnshape"
/>
</LinearLayout>
----acitivity文件
public classMyLifeActivityextendsActivity {
/** Called when the activity is first created. */
@Override
public voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}