本文介紹在鴻蒙應用中Picker元件的基本用法。
增加Picker元件
如下程式碼中46行~56行所示,在佈局中增加Picker元件。
<?xml version="1.0" encoding="utf-8"?><DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:orientation="vertical"> <Component ohos:height="0vp" ohos:weight="3" ohos:width="match_parent" /> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_content" ohos:width="match_content" ohos:layout_alignment="center" ohos:orientation="vertical"> <Image ohos:id="$+id:image" ohos:width="match_content" ohos:height="match_content" ohos:layout_alignment="center" ohos:image_src="$media:DevEco" /> <TextField ohos:id="$+id:text_field" ohos:width="match_parent" ohos:height="30vp" ohos:text_size="20fp" ohos:text_alignment="center" ohos:hint="Please input text and press [Click me!] button." ohos:background_element="$graphic:background_text_field" /> <Button ohos:id="$+id:hello_button" ohos:width="match_content" ohos:height="match_content" ohos:text_size="27fp" ohos:text="Click me!" ohos:layout_alignment="center" ohos:background_element="$graphic:background_button" ohos:margin="15vp" ohos:right_padding="8vp" ohos:left_padding="8vp" /> <Picker ohos:id="$+id:test_picker" ohos:height="match_content" ohos:width="300vp" ohos:min_value="0" ohos:max_value="6" ohos:wheel_mode_enabled="true" ohos:background_element="#E1FFFF" ohos:layout_alignment="horizontal_center" ohos:normal_text_size="16fp" ohos:selected_text_size="32fp"/> </DirectionalLayout> <Component ohos:height="0vp" ohos:weight="5" ohos:width="match_parent" /></DirectionalLayout>
程式碼中元件id被指定為test_picker,會在下面的響應程式碼中用到。
獲取Picker元件設定和取得表示資訊
如下面程式碼中30行和36行所示,在獲取PIcker元件後,設定表示資訊並在動作響應程式碼將最新表示資訊設定到TextField元件上。
package com.example.helloharmony.slice;import com.example.helloharmony.ResourceTable;import ohos.aafwk.ability.AbilitySlice;import ohos.aafwk.content.Intent;import ohos.agp.components.Button;import ohos.agp.components.Component;import ohos.agp.components.Picker;import ohos.agp.components.TextField;import ohos.agp.utils.LayoutAlignment;import ohos.agp.window.dialog.ToastDialog;public class ComponentAbilitySlice extends AbilitySlice { @Override public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_component); //獲取textfield輸入元件 TextField tf = (TextField) findComponentById(ResourceTable.Id_text_field); //獲取button元件 Button button = (Button) findComponentById(ResourceTable.Id_hello_button); // 為按鈕設定點選事件回撥 button.setClickedListener(new Component.ClickedListener() { public void onClick(Component v) { new ToastDialog(getContext()) .setText(tf.getText()) .show(); } }); //獲取picker元件 Picker picker = (Picker) findComponentById(ResourceTable.Id_test_picker); //設定表示文字 picker.setDisplayedData(new String[]{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"}); //設定事件響應 picker.setValueChangedListener((picker1, oldVal, newVal) -> { tf.setText(picker1.getDisplayedData()[newVal - picker1.getMinValue()]); }); } @Override public void onActive() { super.onActive(); } @Override public void onForeground(Intent intent) { super.onForeground(intent); }}
畫面顯示如下:
參考文件
Picker類:
https://developer.harmonyos.com/cn/docs/documentation/doc-references/picker-0000001054119976
Picker元件:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-java-component-picker-0000001059807909
新書介紹
《實戰Python設計模式》是作者最近出版的新書,拜託多多關注!
本書利用Python 的標準GUI 工具包tkinter,透過可執行的示例對23 個設計模式逐個進行說明。這樣一方面可以使讀者瞭解真實的軟體開發工作中每個設計模式的運用場景和想要解決的問題;另一方面透過對這些問題的解決過程進行說明,讓讀者明白在編寫程式碼時如何判斷使用設計模式的利弊,併合理運用設計模式。
對設計模式感興趣而且希望隨學隨用的讀者透過本書可以快速跨越從理解到運用的門檻;希望學習Python GUI 程式設計的讀者可以將本書中的示例作為設計和開發的參考;使用Python 語言進行影象分析、資料處理工作的讀者可以直接以本書中的示例為基礎,迅速構建自己的系統架構。
覺得本文有幫助?請分享給更多人。