導航:首頁 > 操作系統 > android使用自定義屬性

android使用自定義屬性

發布時間:2024-10-31 21:14:18

『壹』 android 自定義控制項 屬性怎麼用

自定義屬性設置
public class lei extends RelativeLayout {

private TextView tv1
public lei(Context context) {
super(context);
}
public lei(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater.from(context).inflate(R.layout.item,this);
tv1 = findViewById(R.id.tv1);
TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.lei);
String str1 = (String) array.getText(R.styleable.lei_settitle);
int str2 = array.getColor(R.styleable.lei_setbackgroudcolor,Color.BLACK);
tv1.setText(str1);
tv1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getContext(), "toast", Toast.LENGTH_SHORT).show();
}
});
array.recycle();
}
}
布局控制項
<com.example.administrator.myapplication.lei
android:id="@+id/ll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
cs:setbackgroudcolor="#158616"
cs:settitle="這個是標題"
cs:settitletextcolor="#FFFFFF"
cs:settextrcolor="#FFFFFF"
>
</com.example.administrator.myapplication.lei>
屬性設置
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="lei" >
<attr name="setbackgroudcolor" format="color|reference"/>
<attr name="settitle" format="string|reference"/>
<attr name="settextrcolor" format="color"/>
<attr name="settitletextcolor" format="color"/>
</declare-styleable>

</resources>

『貳』 Android自定義軟鍵盤

Android自定義鍵盤的使用

1、新建一個xml文件夾放在res目錄下面,然後新建xml文件:money_keyboard.xml
2、然後在XML文件中添加按鈕布局,這個布局就是鍵盤的樣子了

3 屬性介紹:
Keyboard:
存儲鍵盤以及按鍵相關信息。
android:horizontalGap
按鍵之間默認的水平間距。
android:verticalGap
按鍵之間默認的垂直間距。
android:keyHeight
按鍵的默認高度,以像素或顯示高度的百分比表示。
android:keyWidth:
按鍵的默認寬度,以像素或顯示寬度的百分比表示。
Row:
為包含按鍵的容器。
Key:
用於描述鍵盤中單個鍵的位置和特性。
android:codes
該鍵輸出的unicode值。
android:codes 官網介紹是說這個是該鍵的unicode 值或者逗號分隔值,當然我們也可以設置成我們想要的值,在源碼中提供了幾個特定的值
對照表:

android:isRepeatable
這個屬性如果設置為true,那麼當長按該鍵時就會重復接受到該鍵上的動作,在 刪除鍵鍵 和 空格鍵 上通常設為true。
android:keyLabel
顯示在按鍵上的文字。
android:keyIcon 與 keyLabel
是二選一關系,它會代替文字以圖標的形式顯示在鍵上。

android:keyWidth="33.33333%p"
每一個按鈕的寬度,可以設置百分比

android:keyHeight="10%p"
每一個按鈕高度,可以設置百分比

KeyboardView是一個渲染虛擬鍵盤的View。 它處理鍵的渲染和檢測按鍵和觸摸動作。
顯然我們需要KeyboardView來對Keyboard里的數據進行渲染並呈現給我們以及相關的點擊事件做處理。 1)//設置keyboard與KeyboardView相關聯的方法。
public void setKeyboard(Keyboard keyboard)
2)//設置虛擬鍵盤事件的監聽,此方法必須設置,不然會報錯。
public void setOnKeyboardActionListener(OnKeyboardActionListener listener) 步驟上呢,做完第一步的關聯,並設置第二步的事件,調用KeyboardView.setVisible(true);鍵盤就可以顯示出來了, 是不是很簡單。不過到這里還沒有結束哦,接下來我們為了使用上的便利要進行相應的封裝。 封裝 這里我們通過繼承EditText來對Keyboard與KeyboardView進行封裝。
attr.xml文件,這里我們需要通過一個xml類型的自定義屬性引入我們的鍵盤描述文件。

1、新建一個類,我取名叫KeyUtils然後在裡面新建三個屬性。KeyBoard用處可大了,他才是本體,可以通過設置他來切換鍵盤。
2、構造函數,初始下三個參數。
3、先說下預覽圖吧,就是效果圖上的預覽圖,需要預覽圖的話的將setPreviewEnabled設置為true,不過還得在布局文件中的android.inputmethodservice.KeyboardView標簽對立面設置預覽布局。否則,不會有字。至於設置的布局,一個TextView就好了~

onPress: 按下觸發。
onRelease:松開觸發。
onKey : 松開觸發,在OnRelease之前觸發。
swipeLeft : 左滑動,其他同理。哈哈~就這么懶。
onText :需要在 鍵盤xml,也就是我此時的number.xml裡面中key標簽對里添加一個

閱讀全文

與android使用自定義屬性相關的資料

熱點內容
歐陸是哪個app 瀏覽:484
上海32k程序員待遇 瀏覽:735
androidtoydelta 瀏覽:265
渼陂集PDF 瀏覽:303
javascript需要學習演算法嗎 瀏覽:321
華為怎麼把文件放在文件夾內 瀏覽:465
linux伺服器怎麼遠程管理 瀏覽:131
0首付車哪個app有 瀏覽:69
外圍約會的app哪個靠譜些 瀏覽:964
新生代農民工程序員 瀏覽:166
java做的qq 瀏覽:84
皮皮蝦app怎麼賺錢 瀏覽:520
前端項目怎麼部署伺服器 瀏覽:875
程序員面試後有什麼要求 瀏覽:994
yamaha在線編程教程 瀏覽:263
南寧市民卡app怎麼充市民卡 瀏覽:626
python第三方庫移植 瀏覽:389
陌生人群發器源碼 瀏覽:256
python上課ppt 瀏覽:964
android使用自定義屬性 瀏覽:652