android实现的圆角按钮Button
2015-11-12 15:10
543 查看
布局文件:
app_list_corner_round_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#40B9FF"
android:startColor="#BFEEFF" />
<corners
android:bottomLeftRadius="6dip"
android:bottomRightRadius="6dip" />
</shape>
app_list_corner_round_top.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#40B9FF"
android:startColor="#BFEEFF" />
<corners
android:topLeftRadius="6dip"
android:topRightRadius="6dip" />
</shape>app_list_corner_round.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#40B9FF"
android:startColor="#BFEEFF" />
<corners
android:bottomLeftRadius="16dip"
android:bottomRightRadius="16dip"
android:topLeftRadius="16dip"
android:topRightRadius="16dip" />
</shape>
app_list_corner_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#40B9FF"
android:startColor="#BFEEFF" />
</shape>
shape.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<!-- 填充的颜色 -->
<solid android:color="#FFF000" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="15dip" />
<!-- padding:Button里面的文字与Button边界的间隔 -->
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
app_list_corner_round_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#40B9FF"
android:startColor="#BFEEFF" />
<corners
android:bottomLeftRadius="6dip"
android:bottomRightRadius="6dip" />
</shape>
app_list_corner_round_top.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#40B9FF"
android:startColor="#BFEEFF" />
<corners
android:topLeftRadius="6dip"
android:topRightRadius="6dip" />
</shape>app_list_corner_round.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#40B9FF"
android:startColor="#BFEEFF" />
<corners
android:bottomLeftRadius="16dip"
android:bottomRightRadius="16dip"
android:topLeftRadius="16dip"
android:topRightRadius="16dip" />
</shape>
app_list_corner_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="270"
android:endColor="#40B9FF"
android:startColor="#BFEEFF" />
</shape>
shape.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<!-- 填充的颜色 -->
<solid android:color="#FFF000" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="15dip" />
<!-- padding:Button里面的文字与Button边界的间隔 -->
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
</shape>
package com.pdsu.circlebutton; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends Activity { ListView mListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mListView = (ListView) findViewById(R.id.mListView); // mListView = new ListView(this) { // @Override // public boolean onInterceptTouchEvent(MotionEvent ev) { // // TODO Auto-generated method stub // int itemnum = ev.getActionIndex(); // if (itemnum == 0) { // if (itemnum == (getAdapter().getCount() - 1)) { // // 只有一项 // setSelector(R.drawable.app_list_corner_round); // } else { // // 第一项 // setSelector(R.drawable.app_list_corner_round_top); // } // } else if (itemnum == (getAdapter().getCount() - 1)) // // 最后一项 // setSelector(R.drawable.app_list_corner_round_bottom 4000 ); // else { // // 中间一项 // setSelector(R.drawable.app_list_corner_shape); // } // // return super.onInterceptTouchEvent(ev); // } // }; List lists = new ArrayList<String>(); lists.add("设置1"); lists.add("设置2"); lists.add("设置3"); lists.add("设置4"); ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,lists); mListView.setSelector(R.drawable.shape); mListView.setAdapter(adapter); } }
相关文章推荐
- Android Canvas使用
- android 刷第三方recovery
- Android Studio 导入项目的几种方法
- Gradle入门
- Android——使用ContentProvider在应用间传递数据
- Android Studio 无法正确引入包内存在的类
- 线性思维,在android中使用listview
- android 第三方recovery刷机
- Android Boot Slice(1st)
- Android系统启动过程详解
- js和android之间的交互
- Android 通知栏点击取消
- android编码的理解1
- 浅析Android的资源打包和安装后Apk文件的下落
- Android中drawableStart和drawableLeft的区别
- Android编程实现监听EditText变化的方法
- Android实现透明式状态栏
- SignalR在Xamarin Android中的使用
- The Perils of Loading Native Libraries on Android
- Android之如何使用javascript调用android代码