androidbutton使用
㈠ 如何自定義android Button樣式
返回博客列表
轉 android自定義button樣式
sumpower
發布時間: 2014/02/25 19:56
閱讀: 4162
收藏: 0
點贊: 0
評論: 0
摘要
android自定義button樣式
在Android開發應用中,默認的Button是由系統渲染和管理大小的。而我們看到的成功的移動應用,都是有著酷炫的外觀和使用體驗的。因此,我們在開發產品的時候,需要對默認按鈕進行美化。在本篇里,筆者結合在應用開發中的經驗,探討一下自定義背景的按鈕、自定義形狀按鈕的實現方法。
首先看實現效果截圖:
自定義背景的按鈕目前有2種方式實現,矢量和點陣圖。
1. 矢量圖形繪制的方式
矢量圖形繪制的方式實現簡單,適合對於按鈕形狀和圖案要求不高的場合。步驟如下:
(a) 使用xml定義一個圓角矩形,外圍輪廓線實線、內填充漸變色,xml代碼如下。
view plain
//bg_alibuybutton_default.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="地址">
<item>
<shape android:shape="rectangle">
<solid android:color="#FFEC7600" />
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
</shape>
</item>
<item android:top="1px" android:bottom="1px" android:left="1px" android:right="1px">
<shape>
<gradient
android:startColor="#FFEC7600" android:endColor="#FFFED69E"
android:type="linear" android:angle="90"
android:centerX="0.5" android:centerY="0.5" />
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
</shape>
</item>
</layer-list>
同樣定義bg_alibuybutton_pressed.xml和bg_alibuybutton_selected.xml,內容相同,就是漸變顏色不同,用於按鈕按下後的背景變化效果。
(b) 定義按鈕按下後的效果變化描述文件drawable/bg_alibuybutton.xml,代碼如下。
view plain
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="地址">
<item android:state_pressed="true"
android:drawable="@drawable/bg_alibuybutton_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/bg_alibuybutton_selected" />
<item android:drawable="@drawable/bg_alibuybutton_default" />
</selector>
(c) 在你需要的界面定義文件中,如layout/main.xml中定義一個Button控制項。
view plain
<Button
android:layout_width="120dip"
android:layout_height="40dip"
android:text="矢量背景按鈕" android:background="@drawable/bg_alibuybutton" />
這樣,自定義背景的按鈕就可以使用了,在實現onClick方法後就可以響應操作。
㈡ android radiobutton點擊後一直是選中狀態,怎麼再點擊後取消選中
Radiobutton既單選框,多個單選框中必須有一個是選中的,如果你想選擇之後又取消,那麼要使用CheckBox來實現改變它的狀態,方式有三種:
1、XML中申明 android:check="true|false"
2、代碼動態改變 checkBox.setChecked(true|false)
3、用戶觸摸 這個由android系統自動改變
RadioButton使用步驟:
1、RadioButton是圓形單選框
2、RadioGroup是個可以容納多個RadioButton的容器。
3、在RadioGroup中的RadioButton控制項可以有多個,但同時有且僅有一個可以被選中。
代碼如下:
final RadioButton rb_bug = (RadioButton) view.findViewById(R.id.rb_buy);
final GlobalValue globalValue = new GlobalValue();
rb_bug.setOnClickListener(new View.OnClickListener()
{@Overridepublic void onClick(View v) {boolean isCheck = globalValue.isCheck();
if(isCheck{if(v==rb_bug)rb_bug.setChecked(false);}
else{if(v==rb_bug)rb_bug.setChecked(true);}globalValue.setCheck(!isCheck);}});
public class GlobalValue {public boolean isCheck() {return isCheck;}public void setCheck(boolean check)
{isCheck = check;}private boolean isCheck;}
㈢ 如何自定義android Button樣式
在windows7操作系統Android studio中按照如下方法定義button的樣式。
1、首先使用Android studio創建一個項目,項目結構如下: