将本次主要基于ListContainer的通讯录管理系统命名为:电话本、TelManageSys。
本项目也放置在了Gitee仓库中:TelManageSys
app图标如下:
package com.tdtxdcxm.telmanagesys.configcolor;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.render.ColorMatrix;
public class BottomBarColor {
public static void setBottomBarColor(DirectionalLayout ddl3,int i){
switch (i){
case 0:
ddl3.setBackground(BottomBarColor.defaultShapeElement());
break;
case 1:
ddl3.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.darkcolor));
break;
case 2:
ddl3.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.lightcolor));
break;
case 3:
ddl3.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.simplecolor));
break;
default:
break;
}
}
public static ShapeElement defaultShapeElement(){
ShapeElement shapeElement = new ShapeElement();
RgbColor rgbColor = new RgbColor();
rgbColor.setRed(255);
rgbColor.setGreen(255);
rgbColor.setBlue(255);
rgbColor.setAlpha(28);
shapeElement.setRgbColor(rgbColor);
rgbColor.setRed(139);
rgbColor.setGreen(69);
rgbColor.setBlue(19);
rgbColor.setAlpha(100);
shapeElement.setStroke(9,rgbColor);
shapeElement.setCornerRadius(50);
return shapeElement;
}
//CornflowerBlue 矢车菊的蓝色 #6495ED 100,149,237
public static final float[] onclickfloats = { 0,0,0,0,100,
0,0,0,0,149,
0,0,0,0,237,
0,0,0,0,80};
public static final float[] darkcolor = {0, 0, 0, 0, 47,
0, 0, 0, 0, 79,
0, 0, 0, 0, 79,
0, 0, 0, 0, 90
};
public static final float[] lightcolor = { 0, 0, 0, 0, 175,
0, 0, 0, 0, 238,
0, 0, 0, 0, 238,
0, 0, 0, 0, 100
};
public static final float[] simplecolor = { 0, 0, 0, 0, 221,
0, 0, 0, 0, 219,
0, 0, 0, 0, 219,
0, 0, 0, 0, 28
};
private BottomBarColor(){}
}
package com.tdtxdcxm.telmanagesys.itemdata;
public class PeopleItem {
private String name;
public PeopleItem(String name) {
this.name = name;
}
public void setName(String name){
this.name = name;
}
public String getName(){
System.out.println("getName--->name:"+name);
return name;
}
@Override
public String toString(){
return "联系人{"+"姓名:"+name+"}";
}
}
package com.tdtxdcxm.telmanagesys.provider;
import com.tdtxdcxm.telmanagesys.ResourceTable;
import com.tdtxdcxm.telmanagesys.itemdata.PeopleItem;
import ohos.aafwk.ability.AbilitySlice;
import ohos.agp.components.*;
import java.util.List;
public class PeopleItemProvider extends BaseItemProvider {
private List<PeopleItem> list;
private AbilitySlice slice;
public PeopleItemProvider(List<PeopleItem> list, AbilitySlice slice) {
this.list = list;
this.slice = slice;
}
@Override
public int getCount() {
return list != null?list.size():0;
}
@Override
public Object getItem(int i) {
if(list == null || (i < 0 || i >= list.size())){
return null;
}
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public Component getComponent(int i, Component component, ComponentContainer componentContainer) {
final Component cmpt;
if(component == null){
cmpt = LayoutScatter.getInstance(slice).parse(ResourceTable.Layout_ability_listcontainer_itemlayout,null,false);
}
else{
cmpt = component;
}
PeopleItem peopleItem = list.get(i);
Text text = (Text) cmpt.findComponentById(ResourceTable.Id_item_text);
text.setText(peopleItem.getName());
return cmpt;
}
}
package com.tdtxdcxm.telmanagesys.slice;
import com.tdtxdcxm.telmanagesys.PeopleInfoConfig;
import com.tdtxdcxm.telmanagesys.ResourceTable;
import com.tdtxdcxm.telmanagesys.configcolor.BottomBarColor;
import com.tdtxdcxm.telmanagesys.itemdata.PeopleItem;
import com.tdtxdcxm.telmanagesys.provider.PeopleItemProvider;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.*;
import ohos.agp.components.element.Element;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.render.ColorMatrix;
import ohos.agp.utils.Color;
import ohos.agp.utils.LayoutAlignment;
import ohos.agp.window.dialog.ToastDialog;
import java.util.ArrayList;
import java.util.List;
public class MainAbilitySlice extends AbilitySlice {
private int idbut = -1;
private int i = 0;
private DirectionalLayout search_top_sublayout;
private TextField search_tfd;
private Button search_but;
private DirectionalLayout edit_top_sublayout;
private Button edit_deletebut,edit_resetbut,edit_okbut;
private DirectionalLayout config_top_sublayout;
private Button config_deletebut,config_resetbut,config_okbut;
private DirectionalLayout people_listcontainer_sublayout;
private ListContainer people_listcontainer;
private List<PeopleItem> list = new ArrayList<>();
private DirectionalLayout edit_area_rootdl;
private Text edit_nametext;
private Button edit_addtel_but,edit_addemail_but,edit_addwork_but,edit_addaddress_but;
private TextField edit_nametfd,edit_teltfd,edit_emailtfd,edit_worktfd,edit_addresstfd;
private DirectionalLayout config_area_rootdl;
private RadioContainer config_radioContainer;
private RadioButton bottombar_default,bottombar_dark,bottombar_light,bottombar_simple;
private DirectionalLayout main_rootdl_ddl1;
private DirectionalLayout main_rootdl_ddl2;
private DirectionalLayout main_rootdl_ddl3;
private Button ddl3_butpeople,ddl3_butedit,ddl3_butconfig;
public void initAndLoadSearch(DirectionalLayout ddl1){
ddl1.removeAllComponents();
search_top_sublayout = (DirectionalLayout) LayoutScatter.getInstance(this).parse(ResourceTable.Layout_ability_search_topsublayout,null,false);
search_tfd = (TextField) search_top_sublayout.findComponentById(ResourceTable.Id_search_tfd);
search_but = (Button) search_top_sublayout.findComponentById(ResourceTable.Id_search_but);
/*<*************************给输入框和搜索按钮设置监听器****************************/
search_tfd.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
}
});
search_but.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
search_tfd.clearFocus();
Intent intent = new Intent();
intent.setParam("姓名",search_tfd.getText());
present(new PersonDetailSlice(),intent);
}
});
/****************************给输入框和搜索按钮设置监听器**************************>*/
ddl1.addComponent(search_top_sublayout);
}
public void initAndLoadEditTop(DirectionalLayout ddl1){
ddl1.removeAllComponents();
edit_top_sublayout = (DirectionalLayout) LayoutScatter.getInstance(this).parse(ResourceTable.Layout_ability_edit_topsublayout,null,false);
edit_deletebut = (Button) edit_top_sublayout.findComponentById(ResourceTable.Id_edit_deletebut);
edit_resetbut = (Button) edit_top_sublayout.findComponentById(ResourceTable.Id_edit_resetbut);
edit_okbut = (Button) edit_top_sublayout.findComponentById(ResourceTable.Id_edit_okbut);
edit_okbut.setVisibility(Component.HIDE);
/*<*************************给三个功能按钮设置监听器****************************/
edit_deletebut.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
edit_nametfd.setText("");
edit_nametfd.clearFocus();
edit_nametext.setText("待输入");
edit_teltfd.setText("");
edit_teltfd.clearFocus();
DirectionalLayout edit_telanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_telanother_rootdl);
if(edit_telanother_rootdl != null){
((TextField)edit_telanother_rootdl.findComponentById(ResourceTable.Id_edit_telanother_teltfd)).setText("");
((TextField)edit_telanother_rootdl.findComponentById(ResourceTable.Id_edit_telanother_teltfd)).clearFocus();
}
edit_emailtfd.setText("");
edit_emailtfd.clearFocus();
DirectionalLayout edit_emailanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_emailanother_rootdl);
if(edit_emailanother_rootdl != null){
((TextField)edit_emailanother_rootdl.findComponentById(ResourceTable.Id_edit_emailanother_emailtfd)).setText("");
((TextField)edit_emailanother_rootdl.findComponentById(ResourceTable.Id_edit_emailanother_emailtfd)).clearFocus();
}
edit_worktfd.setText("");
edit_worktfd.clearFocus();
DirectionalLayout edit_workanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_workanother_rootdl);
if(edit_workanother_rootdl != null){
((TextField) edit_workanother_rootdl.findComponentById(ResourceTable.Id_edit_workanother_worktfd)).setText("");
((TextField) edit_workanother_rootdl.findComponentById(ResourceTable.Id_edit_workanother_worktfd)).clearFocus();
}
edit_addresstfd.setText("");
edit_addresstfd.clearFocus();
DirectionalLayout edit_addressanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addressanother_rootdl);
if(edit_addressanother_rootdl != null){
((TextField) edit_addressanother_rootdl.findComponentById(ResourceTable.Id_edit_addressanother_addresstfd)).setText("");
((TextField) edit_addressanother_rootdl.findComponentById(ResourceTable.Id_edit_addressanother_addresstfd)).clearFocus();
}
toastShow("已清空!");
}
});
edit_resetbut.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
DirectionalLayout edit_telanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_telanother_rootdl);
if(edit_telanother_rootdl != null){
edit_area_rootdl.removeComponent(edit_telanother_rootdl);
edit_addtel_but.setText("+");
edit_addtel_but.setTextColor(Color.GREEN);
}
DirectionalLayout edit_emailanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_emailanother_rootdl);
if(edit_emailanother_rootdl != null){
edit_area_rootdl.removeComponent(edit_emailanother_rootdl);
edit_addemail_but.setText("+");
edit_addemail_but.setTextColor(Color.GREEN);
}
DirectionalLayout edit_workanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_workanother_rootdl);
if(edit_workanother_rootdl != null){
edit_area_rootdl.removeComponent(edit_workanother_rootdl);
edit_addwork_but.setText("+");
edit_addwork_but.setTextColor(Color.GREEN);
}
DirectionalLayout edit_addressanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addressanother_rootdl);
if(edit_addressanother_rootdl != null){
edit_area_rootdl.removeComponent(edit_addressanother_rootdl);
edit_addaddress_but.setText("+");
edit_addaddress_but.setTextColor(Color.GREEN);
}
toastShow("已重置!");
}
});
edit_okbut.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
String[] personinfo = new String[9];
personinfo[0] = edit_nametfd.getText();
personinfo[1] = edit_teltfd.getText();
DirectionalLayout edit_telanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_telanother_rootdl);
if(edit_telanother_rootdl != null){
personinfo[2] = ((TextField)edit_telanother_rootdl.findComponentById(ResourceTable.Id_edit_telanother_teltfd)).getText();
}
else{
personinfo[2] = "";
}
personinfo[3] = edit_emailtfd.getText();
DirectionalLayout edit_emailanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_emailanother_rootdl);
if(edit_emailanother_rootdl != null){
personinfo[4] = ((TextField)edit_emailanother_rootdl.findComponentById(ResourceTable.Id_edit_emailanother_emailtfd)).getText();
}
else{
personinfo[4] = "";
}
personinfo[5] = edit_worktfd.getText();
DirectionalLayout edit_workanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_workanother_rootdl);
if(edit_workanother_rootdl != null){
personinfo[6] = ((TextField) edit_workanother_rootdl.findComponentById(ResourceTable.Id_edit_workanother_worktfd)).getText();
}
else{
personinfo[6] = "";
}
personinfo[7] = edit_addresstfd.getText();
DirectionalLayout edit_addressanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addressanother_rootdl);
if(edit_addressanother_rootdl != null){
personinfo[8] = ((TextField) edit_addressanother_rootdl.findComponentById(ResourceTable.Id_edit_addressanother_addresstfd)).getText();
}
else{
personinfo[8] = "";
}
PeopleInfoConfig.writeData(MainAbilitySlice.this.getContext(),personinfo);
ddl3_butpeople.getClickedListener().onClick(ddl3_butpeople);
}
});
/***************************给三个功能按钮设置监听器**************************>*/
ddl1.addComponent(edit_top_sublayout);
}
public void initAndLoadConfigTop(DirectionalLayout ddl1){
ddl1.removeAllComponents();
config_top_sublayout = (DirectionalLayout) LayoutScatter.getInstance(this).parse(ResourceTable.Layout_ability_config_topsublayout,null,false);
config_resetbut = (Button) config_top_sublayout.findComponentById(ResourceTable.Id_config_resetbut);
config_okbut = (Button) config_top_sublayout.findComponentById(ResourceTable.Id_config_okbut);
/*<*****************************给三个功能按钮设置监听器*************************************/
config_resetbut.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
RadioContainer radioContainer = (RadioContainer) main_rootdl_ddl2.findComponentById(ResourceTable.Id_config_radioContainer);
if(radioContainer != null){
radioContainer.mark(0);
BottomBarColor.setBottomBarColor(main_rootdl_ddl3,MainAbilitySlice.this.i);
}
}
});
config_okbut.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
BottomBarColor.setBottomBarColor(main_rootdl_ddl3,MainAbilitySlice.this.i);
toastShow("已经设置:第"+(MainAbilitySlice.this.i+1)+"种主题!");
}
});
/******************************给三个功能按钮设置监听器***********************************>*/
ddl1.addComponent(config_top_sublayout);
}
public void toastShow(String s){
ToastDialog toastDialog = new ToastDialog(this.getContext());
toastDialog.setText(s);
toastDialog.setTransparent(true);
toastDialog.setDuration(500);
toastDialog.setAlignment(LayoutAlignment.CENTER);
toastDialog.show();
}
public void installListContainer(DirectionalLayout ddl2){
System.out.println("开始装载listcontainer!!");
ddl2.removeAllComponents();
people_listcontainer_sublayout = (DirectionalLayout) LayoutScatter.getInstance(this).parse(ResourceTable.Layout_ability_people_listcontainerlayout,null,false);
people_listcontainer = (ListContainer) people_listcontainer_sublayout.findComponentById(ResourceTable.Id_people_listcontainer);
ddl2.addComponent(people_listcontainer_sublayout);
}
public void initListContainer(){
System.out.println("开始读出数据!");
PeopleInfoConfig.readData(this.getContext(),list);
PeopleItemProvider peopleItemProvider = new PeopleItemProvider(list,this);
people_listcontainer.setItemProvider(peopleItemProvider);
people_listcontainer.setItemClickedListener(new ListContainer.ItemClickedListener() {
@Override
public void onItemClicked(ListContainer listContainer, Component component, int i, long l) {
Text item_text = (Text) component.findComponentById(ResourceTable.Id_item_text);
if(item_text.getText().equals("请添加联系人") == false){
Intent intent = new Intent();
intent.setParam("姓名",item_text.getText());
present(new PersonDetailSlice(),intent);
}
else{
toastShow("通讯录无联系人信息!");
}
}
});
people_listcontainer.setItemLongClickedListener(new ListContainer.ItemLongClickedListener() {
@Override
public boolean onItemLongClicked(ListContainer listContainer, Component component, int i, long l) {
Text item_text = (Text) component.findComponentById(ResourceTable.Id_item_text);
item_text.setTextColor(Color.RED);
PeopleInfoConfig.deleteData(MainAbilitySlice.this.getContext(),item_text.getText());
PeopleInfoConfig.readData(MainAbilitySlice.this.getContext(),list);
peopleItemProvider.notifyDataChanged();
return true;
}
});
}
public void installEditArea(DirectionalLayout ddl2){
ddl2.removeAllComponents();
edit_area_rootdl = (DirectionalLayout) LayoutScatter.getInstance(this).parse(ResourceTable.Layout_ability_edit,null,false);
edit_nametext = (Text) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_nametext);
edit_addtel_but = (Button) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addtel_but);
edit_addemail_but = (Button) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addemail_but);
edit_addwork_but = (Button) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addwork_but);
edit_addaddress_but = (Button) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addaddress_but);
edit_nametfd = (TextField) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_nametfd);
edit_teltfd = (TextField) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_teltfd);
edit_emailtfd = (TextField) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_emailtfd);
edit_worktfd = (TextField) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_worktfd);
edit_addresstfd = (TextField) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addresstfd);
/*<**********************************给输入姓名的文本框设置文本监视***********************************/
edit_nametfd.addTextObserver(new Text.TextObserver() {
@Override
public void onTextUpdated(String s, int i, int i1, int i2) {
edit_nametext.setText(s);
if(s.equals("")){
edit_okbut.setVisibility(Component.HIDE);
edit_okbut.setText("确认");
}
else{
edit_okbut.setVisibility(Component.VISIBLE);
}
}
});
/************************************给输入姓名的文本框设置文本监视*********************************>*/
/*<****************************给四个添加按钮设置监听器******************************************/
edit_addtel_but.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(edit_addtel_but.getText().equals("-")){
DirectionalLayout edit_telanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_telanother_rootdl);
edit_area_rootdl.removeComponent(edit_telanother_rootdl);
edit_addtel_but.setText("+");
edit_addtel_but.setTextColor(Color.GREEN);
return;
}
DirectionalLayout edit_tel_dlyt = (DirectionalLayout) findComponentById(ResourceTable.Id_edit_tel_dlyt);
DirectionalLayout edit_telanother_rootdl = (DirectionalLayout) LayoutScatter.getInstance(MainAbilitySlice.this).parse(ResourceTable.Layout_ability_edit_telsublayout,null,false);
int i = edit_area_rootdl.getChildIndex(edit_tel_dlyt);
System.out.println("edit_area_rootdl.getChildCount()-->"+edit_area_rootdl.getChildCount());
edit_area_rootdl.addComponent(edit_telanother_rootdl,i+1);
edit_addtel_but.setText("-");
edit_addtel_but.setTextColor(Color.RED);
}
});
edit_addemail_but.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(edit_addemail_but.getText().equals("-")){
DirectionalLayout edit_emailanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_emailanother_rootdl);
edit_area_rootdl.removeComponent(edit_emailanother_rootdl);
edit_addemail_but.setText("+");
edit_addemail_but.setTextColor(Color.GREEN);
return;
}
DirectionalLayout edit_email_dlyt = (DirectionalLayout) findComponentById(ResourceTable.Id_edit_email_dlyt);
DirectionalLayout edit_emailanother_rootdl = (DirectionalLayout) LayoutScatter.getInstance(MainAbilitySlice.this).parse(ResourceTable.Layout_ability_edit_emailsublayout,null,false);
int i = edit_area_rootdl.getChildIndex(edit_email_dlyt);
System.out.println("edit_area_rootdl.getChildCount()-->"+edit_area_rootdl.getChildCount());
edit_area_rootdl.addComponent(edit_emailanother_rootdl,i+1);
edit_addemail_but.setText("-");
edit_addemail_but.setTextColor(Color.RED);
}
});
edit_addwork_but.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(edit_addwork_but.getText().equals("-")){
DirectionalLayout edit_workanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_workanother_rootdl);
edit_area_rootdl.removeComponent(edit_workanother_rootdl);
edit_addwork_but.setText("+");
edit_addwork_but.setTextColor(Color.GREEN);
return;
}
DirectionalLayout edit_work_dlyt = (DirectionalLayout) findComponentById(ResourceTable.Id_edit_work_dlyt);
DirectionalLayout edit_workanother_rootdl = (DirectionalLayout) LayoutScatter.getInstance(MainAbilitySlice.this).parse(ResourceTable.Layout_ability_edit_worksublayout,null,false);
int i = edit_area_rootdl.getChildIndex(edit_work_dlyt);
System.out.println("edit_area_rootdl.getChildCount()-->"+edit_area_rootdl.getChildCount());
edit_area_rootdl.addComponent(edit_workanother_rootdl,i+1);
edit_addwork_but.setText("-");
edit_addwork_but.setTextColor(Color.RED);
}
});
edit_addaddress_but.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(edit_addaddress_but.getText().equals("-")){
DirectionalLayout edit_addressanother_rootdl = (DirectionalLayout) edit_area_rootdl.findComponentById(ResourceTable.Id_edit_addressanother_rootdl);
edit_area_rootdl.removeComponent(edit_addressanother_rootdl);
edit_addaddress_but.setText("+");
edit_addaddress_but.setTextColor(Color.GREEN);
return;
}
DirectionalLayout edit_address_dlyt = (DirectionalLayout) findComponentById(ResourceTable.Id_edit_address_dlyt);
DirectionalLayout edit_addressanother_rootdl = (DirectionalLayout) LayoutScatter.getInstance(MainAbilitySlice.this).parse(ResourceTable.Layout_ability_edit_addresssublayout,null,false);
int i = edit_area_rootdl.getChildIndex(edit_address_dlyt);
System.out.println("edit_area_rootdl.getChildCount()-->"+edit_area_rootdl.getChildCount());
edit_area_rootdl.addComponent(edit_addressanother_rootdl,i+1);
edit_addaddress_but.setText("-");
edit_addaddress_but.setTextColor(Color.RED);
}
});
/*****************************给四个添加按钮设置监听器****************************************>*/
ddl2.addComponent(edit_area_rootdl);
}
public void installConfigArea(DirectionalLayout ddl2){
ddl2.removeAllComponents();
config_area_rootdl = (DirectionalLayout) LayoutScatter.getInstance(this).parse(ResourceTable.Layout_ability_config,null,false);
config_radioContainer = (RadioContainer) config_area_rootdl.findComponentById(ResourceTable.Id_config_radioContainer);
bottombar_default = (RadioButton) config_area_rootdl.findComponentById(ResourceTable.Id_bottombar_default);
bottombar_dark = (RadioButton) config_area_rootdl.findComponentById(ResourceTable.Id_bottombar_dark);
bottombar_light = (RadioButton) config_area_rootdl.findComponentById(ResourceTable.Id_bottombar_light);
bottombar_simple = (RadioButton) config_area_rootdl.findComponentById(ResourceTable.Id_bottombar_simple);
config_radioContainer.mark(MainAbilitySlice.this.i);
config_radioContainer.setMarkChangedListener(new RadioContainer.CheckedStateChangedListener() {
@Override
public void onCheckedChanged(RadioContainer radioContainer, int i) {
switch (i){
case 0:
toastShow("选择:"+bottombar_default.getText());
MainAbilitySlice.this.i = i;
break;
case 1:
toastShow("选择:"+bottombar_dark.getText());
MainAbilitySlice.this.i = i;
break;
case 2:
toastShow("选择:"+bottombar_light.getText());
MainAbilitySlice.this.i = i;
break;
case 3:
toastShow("选择:"+bottombar_simple.getText());
MainAbilitySlice.this.i = i;
break;
default:
break;
}
}
});
ddl2.addComponent(config_area_rootdl);
}
public void initMASliceComponents(){
main_rootdl_ddl1 = (DirectionalLayout) findComponentById(ResourceTable.Id_main_rootdl_ddl1);
main_rootdl_ddl2 = (DirectionalLayout) findComponentById(ResourceTable.Id_main_rootdl_ddl2);
main_rootdl_ddl3 = (DirectionalLayout) findComponentById(ResourceTable.Id_main_rootdl_ddl3);
ddl3_butpeople = (Button) findComponentById(ResourceTable.Id_ddl3_butpeople);
main_rootdl_ddl3.setBackground(BottomBarColor.defaultShapeElement());
ddl3_butpeople.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.onclickfloats));
idbut = ResourceTable.Id_ddl3_butpeople;
ddl3_butedit = (Button) findComponentById(ResourceTable.Id_ddl3_butedit);
ddl3_butconfig = (Button) findComponentById(ResourceTable.Id_ddl3_butconfig);
/*<*************************给三个导航按钮监听器****************************/
ddl3_butpeople.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(idbut != ddl3_butpeople.getId()) {
Button button = (Button) findComponentById(idbut);
button.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.simplecolor));
ddl3_butpeople.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.onclickfloats));
idbut = ddl3_butpeople.getId();
initAndLoadSearch(main_rootdl_ddl1);
installListContainer(main_rootdl_ddl2);
initListContainer();
}
}
});
ddl3_butedit.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(idbut != ddl3_butedit.getId()) {
Button button = (Button) findComponentById(idbut);
button.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.simplecolor));
ddl3_butedit.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.onclickfloats));
idbut = ddl3_butedit.getId();
initAndLoadEditTop(main_rootdl_ddl1);
installEditArea(main_rootdl_ddl2);
}
}
});
ddl3_butconfig.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(idbut != ddl3_butconfig.getId()) {
Button button = (Button) findComponentById(idbut);
button.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.simplecolor));
ddl3_butconfig.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.onclickfloats));
idbut = ddl3_butconfig.getId();
initAndLoadConfigTop(main_rootdl_ddl1);
installConfigArea(main_rootdl_ddl2);
}
}
});
/***************************给三个导航按钮监听器**************************>*/
}
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
System.out.println("开始了-----》》》》》》");
initMASliceComponents();
initAndLoadSearch(main_rootdl_ddl1);
installListContainer(main_rootdl_ddl2);
initListContainer();
}
@Override
protected void onInactive() {
super.onInactive();
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
@Override
protected void onBackground() {
super.onBackground();
}
@Override
protected void onStop() {
super.onStop();
}
}
package com.tdtxdcxm.telmanagesys.slice;
import com.tdtxdcxm.telmanagesys.PeopleInfoConfig;
import com.tdtxdcxm.telmanagesys.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.Text;
import ohos.agp.components.TextField;
import ohos.agp.utils.LayoutAlignment;
import ohos.agp.window.dialog.CommonDialog;
import ohos.agp.window.dialog.IDialog;
import ohos.agp.window.dialog.ToastDialog;
public class PersonDetailSlice extends AbilitySlice {
private Button persondetail_backbut,persondetail_nobut,persondetail_okeditbut;
private Text persondetail_nametext;
private TextField persondetail_teltfd,persondetail_teltfd2;
private TextField persondetail_emailtfd,persondetail_emailtfd2;
private TextField persondetail_worktfd,persondetail_worktfd2;
private TextField persondetail_addresstfd,persondetail_addresstfd2;
private boolean isssave = false;
public void toastShow(String s){
ToastDialog toastDialog = new ToastDialog(this.getContext());
toastDialog.setText(s);
toastDialog.setTransparent(true);
toastDialog.setDuration(1000);
toastDialog.setAlignment(LayoutAlignment.BOTTOM);
toastDialog.show();
}
public void commonDialogShow(String titletext,String contenttext){
CommonDialog commonDialog = new CommonDialog(this.getContext());
commonDialog.setTitleText(titletext);
commonDialog.setContentText(contenttext);
commonDialog.setAlignment(LayoutAlignment.CENTER);
commonDialog.setCornerRadius(20);
commonDialog.setSize(700,360);
commonDialog.setButton(1, "确定", new IDialog.ClickedListener() {
@Override
public void onClick(IDialog iDialog, int i) {
commonDialog.destroy();
terminate();
}
});
commonDialog.setButton(2, "取消", new IDialog.ClickedListener() {
@Override
public void onClick(IDialog iDialog, int i) {
commonDialog.destroy();
}
});
commonDialog.show();
}
public void initPDSilceComponents(String name){
persondetail_backbut = (Button) findComponentById(ResourceTable.Id_persondetail_backbut);
persondetail_nobut= (Button) findComponentById(ResourceTable.Id_persondetail_nobut);
persondetail_okeditbut = (Button) findComponentById(ResourceTable.Id_persondetail_okeditbut);
persondetail_nametext = (Text) findComponentById(ResourceTable.Id_persondetail_nametext);
persondetail_teltfd = (TextField) findComponentById(ResourceTable.Id_persondetail_teltfd);
persondetail_teltfd2 = (TextField) findComponentById(ResourceTable.Id_persondetail_teltfd2);
persondetail_emailtfd = (TextField) findComponentById(ResourceTable.Id_persondetail_emailtfd);
persondetail_emailtfd2 = (TextField) findComponentById(ResourceTable.Id_persondetail_emailtfd2);
persondetail_worktfd = (TextField) findComponentById(ResourceTable.Id_persondetail_worktfd);
persondetail_worktfd2 = (TextField) findComponentById(ResourceTable.Id_persondetail_worktfd2);
persondetail_addresstfd = (TextField) findComponentById(ResourceTable.Id_persondetail_addresstfd);
persondetail_addresstfd2 = (TextField) findComponentById(ResourceTable.Id_persondetail_addresstfd2);
String[] personinfo = PeopleInfoConfig.readPersonData(this.getContext(),name);
persondetail_nametext.setText(personinfo[0]);
persondetail_teltfd.setText(personinfo[1]);
persondetail_teltfd2.setText(personinfo[2]);
persondetail_emailtfd.setText(personinfo[3]);
persondetail_emailtfd2.setText(personinfo[4]);
persondetail_worktfd.setText(personinfo[5]);
persondetail_worktfd2.setText(personinfo[6]);
persondetail_addresstfd.setText(personinfo[7]);
persondetail_addresstfd2.setText(personinfo[8]);
persondetail_teltfd.setClickable(false);
persondetail_teltfd2.setClickable(false);
persondetail_emailtfd.setClickable(false);
persondetail_emailtfd2.setClickable(false);
persondetail_worktfd.setClickable(false);
persondetail_worktfd2.setClickable(false);
persondetail_addresstfd.setClickable(false);
persondetail_addresstfd2.setClickable(false);
persondetail_backbut.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(isssave == false){
commonDialogShow("返回","还未保存,确定退出吗?");
}
else{
commonDialogShow("返回","已经保存,确定退出吗?");
}
}
});
persondetail_nobut.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
persondetail_okeditbut.setText("编辑");
persondetail_teltfd.clearFocus();
persondetail_teltfd2.clearFocus();
persondetail_emailtfd.clearFocus();
persondetail_emailtfd2.clearFocus();
persondetail_worktfd.clearFocus();
persondetail_worktfd2.clearFocus();
persondetail_addresstfd.clearFocus();
persondetail_addresstfd2.clearFocus();
persondetail_teltfd.setClickable(false);
persondetail_teltfd2.setClickable(false);
persondetail_emailtfd.setClickable(false);
persondetail_emailtfd2.setClickable(false);
persondetail_worktfd.setClickable(false);
persondetail_worktfd2.setClickable(false);
persondetail_addresstfd.setClickable(false);
persondetail_addresstfd2.setClickable(false);
toastShow("已退出编辑状态!");
}
});
persondetail_okeditbut.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(persondetail_okeditbut.getText().equals("编辑") && personinfo[0].equals("") == false){
persondetail_teltfd.setClickable(true);
persondetail_teltfd2.setClickable(true);
persondetail_emailtfd.setClickable(true);
persondetail_emailtfd2.setClickable(true);
persondetail_worktfd.setClickable(true);
persondetail_worktfd2.setClickable(true);
persondetail_addresstfd.setClickable(true);
persondetail_addresstfd2.setClickable(true);
persondetail_okeditbut.setText("保存");
isssave = false;
toastShow("可以修改编辑!");
return;
}
if(persondetail_okeditbut.getText().equals("保存")){
String[] tpersoninfo = new String[9];
tpersoninfo[0] = persondetail_nametext.getText();
tpersoninfo[1] = persondetail_teltfd.getText();
tpersoninfo[2] = persondetail_teltfd2.getText();
tpersoninfo[3] = persondetail_emailtfd.getText();
tpersoninfo[4] = persondetail_emailtfd2.getText();
tpersoninfo[5] = persondetail_worktfd.getText();
tpersoninfo[6] = persondetail_worktfd2.getText();
tpersoninfo[7] = persondetail_addresstfd.getText();
tpersoninfo[8] = persondetail_addresstfd2.getText();
PeopleInfoConfig.writePersonData(PersonDetailSlice.this.getContext(),tpersoninfo);
persondetail_okeditbut.setText("编辑");
persondetail_nobut.getClickedListener().onClick(persondetail_nobut);
isssave = true;
toastShow("已经保存!");
}
}
});
}
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_persondetail);
initPDSilceComponents(intent.getStringParam("姓名"));
System.out.println("开始了-----》》》》》》");
}
@Override
protected void onInactive() {
super.onInactive();
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
@Override
protected void onBackground() {
super.onBackground();
}
@Override
protected void onStop() {
super.onStop();
}
}
package com.tdtxdcxm.telmanagesys;
import com.tdtxdcxm.telmanagesys.slice.MainAbilitySlice;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;
public class MainAbility extends Ability {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setMainRoute(MainAbilitySlice.class.getName());
}
}
package com.tdtxdcxm.telmanagesys;
import ohos.aafwk.ability.AbilityPackage;
public class MyApplication extends AbilityPackage {
@Override
public void onInitialize() {
super.onInitialize();
}
}
package com.tdtxdcxm.telmanagesys;
import com.tdtxdcxm.telmanagesys.itemdata.PeopleItem;
import ohos.app.Context;
import ohos.data.DatabaseHelper;
import ohos.data.preferences.Preferences;
import java.util.ArrayList;
import java.util.List;
public class PeopleInfoConfig {
private static final String peoplelistfilename = "peopleinfo.ple";
public static void readData(Context context, List<PeopleItem> list){
list.clear();
System.out.println("--------------》》》》这里了!");
DatabaseHelper databaseHelper = new DatabaseHelper(context);
Preferences preferences = databaseHelper.getPreferences(peoplelistfilename);
String namelist = preferences.getString("名字","请添加联系人").toString();
System.out.println(namelist);
String[] pername = namelist.split(",");
if(pername[0].equals("")){
list.add(new PeopleItem("请添加联系人"));
return;
}
for(int i = 0;i < pername.length;i++){
System.out.println("名字:"+pername[i]);
list.add(new PeopleItem(pername[i]));
}
}
public static String[] readPersonData(Context context,String name){
String[] personinfo = new String[9];
DatabaseHelper databaseHelper = new DatabaseHelper(context);
Preferences preferences = databaseHelper.getPreferences(name+".tdtx");
personinfo[0] = preferences.getString("姓名","");
personinfo[1] = preferences.getString("电话","");
personinfo[2] = preferences.getString("座机","");
personinfo[3] = preferences.getString("邮箱","");
personinfo[4] = preferences.getString("其他邮箱","");
personinfo[5] = preferences.getString("工作单位","");
personinfo[6] = preferences.getString("其他单位","");
personinfo[7] = preferences.getString("地址","");
personinfo[8] = preferences.getString("其他地址","");
return personinfo;
}
public static void writeData(Context context, String[] personinfo){
DatabaseHelper databaseHelper = new DatabaseHelper(context);
Preferences preferences = databaseHelper.getPreferences(peoplelistfilename);
List<PeopleItem> tlist = new ArrayList<>();
String namelist;
namelist = preferences.getString("名字","").toString();
System.out.println("writedata namelistfile--->"+namelist);
if(namelist.equals("")){
preferences.putString("名字",personinfo[0]);
}
else
{
preferences.putString("名字",namelist+","+personinfo[0]);
}
preferences.flushSync();
DatabaseHelper personfile_databaseHelper = new DatabaseHelper(context);
Preferences person_preferences = personfile_databaseHelper.getPreferences(personinfo[0]+".tdtx");
person_preferences.putString("姓名",personinfo[0]);
person_preferences.putString("电话",personinfo[1]);
person_preferences.putString("座机",personinfo[2]);
person_preferences.putString("邮箱",personinfo[3]);
person_preferences.putString("其他邮箱",personinfo[4]);
person_preferences.putString("工作单位",personinfo[5]);
person_preferences.putString("其他单位",personinfo[6]);
person_preferences.putString("地址",personinfo[7]);
person_preferences.putString("其他地址",personinfo[8]);
person_preferences.flushSync();
}
public static void writePersonData(Context context, String[] personinfo){
DatabaseHelper personfile_databaseHelper = new DatabaseHelper(context);
Preferences person_preferences = personfile_databaseHelper.getPreferences(personinfo[0]+".tdtx");
person_preferences.putString("姓名",personinfo[0]);
person_preferences.putString("电话",personinfo[1]);
person_preferences.putString("座机",personinfo[2]);
person_preferences.putString("邮箱",personinfo[3]);
person_preferences.putString("其他邮箱",personinfo[4]);
person_preferences.putString("工作单位",personinfo[5]);
person_preferences.putString("其他单位",personinfo[6]);
person_preferences.putString("地址",personinfo[7]);
person_preferences.putString("其他地址",personinfo[8]);
person_preferences.flushSync();
}
public static void deleteData(Context context, String personname){
DatabaseHelper databaseHelper = new DatabaseHelper(context);
Preferences preferences = databaseHelper.getPreferences(peoplelistfilename);
List<PeopleItem> tlist = new ArrayList<>();
String namelist;
namelist = preferences.getString("名字","").toString();
System.out.println("writedata namelistfile--->"+namelist);
if(namelist.equals("")){
}
else
{
String[] names = namelist.split(",");
StringBuilder stringBuilder = new StringBuilder();
int k = 0;
for(int i = 0;i < names.length;i++){
System.out.println("------>>>>"+stringBuilder.toString());
if(names[i].equals(personname) == false){
if(k != 0){
stringBuilder.append(",");
stringBuilder.append(names[i]);
k++;
continue;
}
stringBuilder.append(names[i]);
k++;
}
}
namelist = stringBuilder.toString();
preferences.putString("名字",namelist);
}
preferences.flushSync();
DatabaseHelper personfile_databaseHelper = new DatabaseHelper(context);
//Preferences person_preferences = personfile_databaseHelper.getPreferences(personname+".tdtx");
personfile_databaseHelper.deletePreferences(personname+".tdtx");
personfile_databaseHelper.removePreferencesFromCache(personname+".tdtx");
}
}
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<solid
ohos:color="#8AFFFFFF"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="50vp"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="50vp"/>
<stroke
ohos:width="3vp"
ohos:color="#FF1952C3"/>
<solid
ohos:color="#48DDDBDB"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="10vp"/>
<stroke
ohos:width="5vp"
ohos:color="#FFD1AEF1"/>
<solid
ohos:color="#48DDDBDB"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="50vp"/>
<stroke
ohos:width="3vp"
ohos:color="#FFFFFFFF"/>
<solid
ohos:color="#FFFFFFFF"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="100vp"/>
<stroke
ohos:width="2vp"
ohos:color="#FF3FFF18"/>
<solid
ohos:color="#FFFFFFFF"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="5vp"/>
<stroke
ohos:width="2vp"
ohos:color="#FF18B6FF"/>
<solid
ohos:color="#FFFFFFFF"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="20vp"/>
<stroke
ohos:width="2vp"
ohos:color="#FFF5AC17"/>
<solid
ohos:color="#FFFFFFFF"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="3vp"/>
<stroke
ohos:width="2vp"
ohos:color="#FF2E4658"/>
<solid
ohos:color="#FFFFFFFF"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="10vp"/>
<stroke
ohos:width="3vp"
ohos:color="#FFAECEF1"/>
<solid
ohos:color="#48FFFFFF"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="10vp"/>
<solid
ohos:color="#48DDDBDB"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="50vp"/>
<solid
ohos:color="#4836E5F3"/>
shape>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="50vp"/>
<solid
ohos:color="#48FDC42E"/>
shape>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:config_area_rootdl"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical"
ohos:alignment="horizontal_center">
<RadioContainer
ohos:id="$+id:config_radioContainer"
ohos:height="200vp"
ohos:width="match_parent"
ohos:margin="10vp"
ohos:orientation="vertical"
ohos:alignment="horizontal_center">
<RadioButton
ohos:id="$+id:bottombar_default"
ohos:height="0"
ohos:weight="1"
ohos:width="match_parent"
ohos:text="底部导航栏:默认配色"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:multiple_lines="true"
ohos:text_color_on="#FF0C7F9B"
ohos:text_color_off="#FFD1C3EA"
ohos:background_element="$graphic:background_edit_addtfd">
RadioButton>
<RadioButton
ohos:id="$+id:bottombar_dark"
ohos:height="0"
ohos:weight="1"
ohos:width="match_parent"
ohos:text="底部导航栏:黑暗配色"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color_on="#FF0C7F9B"
ohos:text_color_off="#FFD1C3EA"
ohos:background_element="$graphic:background_edit_addtfd">
RadioButton>
<RadioButton
ohos:id="$+id:bottombar_light"
ohos:height="0"
ohos:weight="1"
ohos:width="match_parent"
ohos:text="底部导航栏:轻快配色"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color_on="#FF0C7F9B"
ohos:text_color_off="#FFD1C3EA"
ohos:background_element="$graphic:background_edit_addtfd">
RadioButton>
<RadioButton
ohos:id="$+id:bottombar_simple"
ohos:height="0"
ohos:weight="1"
ohos:width="match_parent"
ohos:text="底部导航栏:简约配色"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color_on="#FF0C7F9B"
ohos:text_color_off="#FFD1C3EA"
ohos:background_element="$graphic:background_edit_addtfd">
RadioButton>
RadioContainer>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:config_top_sublayout"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:top_margin="5vp"
ohos:left_margin="20vp"
ohos:right_margin="20vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:config_resetbut"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:text="默认"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF0E2A85"
ohos:background_element="$graphic:background_edit_topbut">
Button>
<Button
ohos:id="$+id:config_okbut"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:left_margin="20vp"
ohos:text="应用"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF0E2A85"
ohos:background_element="$graphic:background_edit_topbut">
Button>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:edit_area_rootdl"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical"
ohos:alignment="horizontal_center">
<DirectionalLayout
ohos:id="$+id:edit_name_dlyt"
ohos:height="60vp"
ohos:width="match_parent"
ohos:margin="10vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Text
ohos:id="$+id:edit_nametext"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="3"
ohos:text="待输入"
ohos:text_alignment="center"
ohos:multiple_lines="true"
ohos:auto_font_size="true"
ohos:text_color="#FF6D37D2"
ohos:background_element="$graphic:background_edit_addnametext">
Text>
<TextField
ohos:id="$+id:edit_nametfd"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="7"
ohos:hint="姓名"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:edit_tel_dlyt"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_addtel_but"
ohos:height="match_parent"
ohos:width="40vp"
ohos:text="+"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green"
ohos:background_element="$graphic:background_edit_addbutton">
Button>
<TextField
ohos:id="$+id:edit_teltfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="电话"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:edit_email_dlyt"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_addemail_but"
ohos:height="match_parent"
ohos:width="40vp"
ohos:text="+"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green"
ohos:background_element="$graphic:background_edit_addbutton">
Button>
<TextField
ohos:id="$+id:edit_emailtfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="邮件"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:edit_work_dlyt"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_addwork_but"
ohos:height="match_parent"
ohos:width="40vp"
ohos:text="+"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green"
ohos:background_element="$graphic:background_edit_addbutton">
Button>
<TextField
ohos:id="$+id:edit_worktfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="工作单位"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:edit_address_dlyt"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_addaddress_but"
ohos:height="match_parent"
ohos:width="40vp"
ohos:text="+"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green"
ohos:background_element="$graphic:background_edit_addbutton">
Button>
<TextField
ohos:id="$+id:edit_addresstfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="地址"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:edit_addressanother_rootdl"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_addressanother_addaddress_but"
ohos:height="match_parent"
ohos:width="40vp"
ohos:text=""
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green">
Button>
<TextField
ohos:id="$+id:edit_addressanother_addresstfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="其他地址"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:edit_emailanother_rootdl"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_emailanother_addemail_but"
ohos:height="match_parent"
ohos:width="40vp"
ohos:text=""
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green">
Button>
<TextField
ohos:id="$+id:edit_emailanother_emailtfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="其他邮箱"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:edit_telanother_rootdl"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_telanother_addtel_but"
ohos:height="match_parent"
ohos:width="40vp"
ohos:text=""
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green">
Button>
<TextField
ohos:id="$+id:edit_telanother_teltfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="座机"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:edit_top_sublayout"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:top_margin="5vp"
ohos:left_margin="20vp"
ohos:right_margin="20vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_deletebut"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:right_margin="20vp"
ohos:text="清空"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF0E2A85"
ohos:background_element="$graphic:background_edit_topbut">
Button>
<Button
ohos:id="$+id:edit_resetbut"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:text="重置"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF0E2A85"
ohos:background_element="$graphic:background_edit_topbut">
Button>
<Button
ohos:id="$+id:edit_okbut"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:left_margin="20vp"
ohos:text="确认"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF0E2A85"
ohos:background_element="$graphic:background_edit_topbut">
Button>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:edit_workanother_rootdl"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:edit_workanother_addwork_but"
ohos:height="match_parent"
ohos:width="40vp"
ohos:text=""
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green">
Button>
<TextField
ohos:id="$+id:edit_workanother_worktfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="其他单位"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:item_rootdl"
ohos:height="35vp"
ohos:width="match_parent"
ohos:orientation="horizontal"
ohos:background_element="$graphic:background_listcontainer_item">
<Text
ohos:id="$+id:item_text"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:text="测试"
ohos:text_size="20vp"
ohos:text_alignment="vertical_center"
ohos:text_color="black">
Text>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:main_rootdl"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical"
ohos:alignment="horizontal_center"
ohos:background_element="$graphic:background_ability_main">
<DirectionalLayout
ohos:id="$+id:main_rootdl_ddl1"
ohos:height="0"
ohos:weight="0.6"
ohos:width="match_parent"
ohos:orientation="vertical"
ohos:alignment="horizontal_center">
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:main_rootdl_ddl2"
ohos:height="0"
ohos:weight="8.8"
ohos:width="match_parent"
ohos:top_margin="5vp"
ohos:background_element="$graphic:background_ddl2">
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:main_rootdl_ddl3"
ohos:height="0"
ohos:weight="0.6"
ohos:width="match_parent"
ohos:top_margin="5vp"
ohos:bottom_margin="5vp"
ohos:left_margin="45vp"
ohos:right_margin="45vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center"
ohos:background_element="$graphic:background_ddl3">
<Button
ohos:id="$+id:ddl3_butpeople"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:margin="3vp"
ohos:text="$string:people"
ohos:text_alignment="center"
ohos:text_size="25vp"
ohos:text_color="#FFB35353"
ohos:background_element="$graphic:background_bottombutton">
Button>
<Button
ohos:id="$+id:ddl3_butedit"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:margin="3vp"
ohos:text="$string:edit"
ohos:text_alignment="center"
ohos:text_size="25vp"
ohos:text_color="#FF1086CA"
ohos:background_element="$graphic:background_bottombutton">
Button>
<Button
ohos:id="$+id:ddl3_butconfig"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:margin="3vp"
ohos:text="$string:config"
ohos:text_alignment="center"
ohos:text_size="25vp"
ohos:text_color="#FF79086A"
ohos:background_element="$graphic:background_bottombutton">
Button>
DirectionalLayout>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:people_listcontainer_sublayout"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical"
ohos:alignment="horizontal_center"
ohos:background_element="$graphic:background_people_listcontainer">
<ListContainer
ohos:id="$+id:people_listcontainer"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical"
ohos:rebound_effect="true">
ListContainer>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:persondetail_rootdl"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical"
ohos:alignment="horizontal_center"
ohos:background_element="$graphic:background_ability_main">
<DirectionalLayout
ohos:id="$+id:persondetail_rootdl_ddl1"
ohos:height="0"
ohos:weight="0.6"
ohos:width="match_parent"
ohos:top_margin="5vp"
ohos:left_margin="20vp"
ohos:right_margin="20vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:persondetail_backbut"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:right_margin="20vp"
ohos:text="$string:back"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF0E2A85"
ohos:background_element="$graphic:background_edit_topbut">
Button>
<Button
ohos:id="$+id:persondetail_nobut"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:text="取消"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF0E2A85"
ohos:background_element="$graphic:background_edit_topbut">
Button>
<Button
ohos:id="$+id:persondetail_okeditbut"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="1"
ohos:left_margin="20vp"
ohos:text="编辑"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF0E2A85"
ohos:background_element="$graphic:background_edit_topbut">
Button>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_rootdl_ddl2"
ohos:height="0"
ohos:weight="8.8"
ohos:width="match_parent"
ohos:top_margin="5vp"
ohos:background_element="$graphic:background_ddl2">
<DirectionalLayout
ohos:id="$+id:persondetail_name_dlyt"
ohos:height="60vp"
ohos:width="match_parent"
ohos:margin="10vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Text
ohos:id="$+id:persondetail_nametext"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="3"
ohos:text="error"
ohos:text_alignment="center"
ohos:multiple_lines="true"
ohos:auto_font_size="true"
ohos:text_color="#FF6D37D2"
ohos:background_element="$graphic:background_edit_addnametext">
Text>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_tel_dlyt"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Text
ohos:id="$+id:persondetail_teltext"
ohos:height="match_parent"
ohos:width="60vp"
ohos:text="电话"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green"
ohos:background_element="$graphic:background_edit_addbutton">
Text>
<TextField
ohos:id="$+id:persondetail_teltfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="电话"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_tel_dlyt2"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Text
ohos:id="$+id:persondetail_teltext2"
ohos:height="match_parent"
ohos:width="60vp"
ohos:text=" "
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green">
Text>
<TextField
ohos:id="$+id:persondetail_teltfd2"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="座机"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_email_dlyt"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Text
ohos:id="$+id:persondetail_addemail_but"
ohos:height="match_parent"
ohos:width="60vp"
ohos:text="邮件"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green"
ohos:background_element="$graphic:background_edit_addbutton">
Text>
<TextField
ohos:id="$+id:persondetail_emailtfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="邮件"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_email_dlyt2"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Text
ohos:id="$+id:persondetail_addemail_but2"
ohos:height="match_parent"
ohos:width="60vp"
ohos:text=" "
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green">
Text>
<TextField
ohos:id="$+id:persondetail_emailtfd2"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="其他邮箱"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_work_dlyt"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Text
ohos:id="$+id:persondetail_addwork_but"
ohos:height="match_parent"
ohos:width="60vp"
ohos:text="单位"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green"
ohos:background_element="$graphic:background_edit_addbutton">
Text>
<TextField
ohos:id="$+id:persondetail_worktfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="工作单位"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_work_dlyt2"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Text
ohos:id="$+id:persondetail_addwork_but2"
ohos:height="match_parent"
ohos:width="60vp"
ohos:text=" "
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green">
Text>
<TextField
ohos:id="$+id:persondetail_worktfd2"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="其他单位"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_address_dlyt"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:persondetail_addaddress_but"
ohos:height="match_parent"
ohos:width="60vp"
ohos:text="地址"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green"
ohos:background_element="$graphic:background_edit_addbutton">
Button>
<TextField
ohos:id="$+id:persondetail_addresstfd"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="地址"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_address_dlyt2"
ohos:height="40vp"
ohos:width="match_parent"
ohos:margin="5vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
<Button
ohos:id="$+id:persondetail_addaddress_but2"
ohos:height="match_parent"
ohos:width="60vp"
ohos:text=" "
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="green">
Button>
<TextField
ohos:id="$+id:persondetail_addresstfd2"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:hint="其他地址"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_edit_addtfd">
TextField>
DirectionalLayout>
DirectionalLayout>
<DirectionalLayout
ohos:id="$+id:persondetail_rootdl_ddl3"
ohos:height="0"
ohos:weight="0.6"
ohos:width="match_parent"
ohos:top_margin="5vp"
ohos:bottom_margin="5vp"
ohos:left_margin="45vp"
ohos:right_margin="45vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center">
DirectionalLayout>
DirectionalLayout>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:search_top_sublayout"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:top_margin="5vp"
ohos:left_margin="20vp"
ohos:right_margin="20vp"
ohos:orientation="horizontal"
ohos:alignment="vertical_center"
ohos:background_element="$graphic:background_ddl1">
<TextField
ohos:id="$+id:search_tfd"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="8"
ohos:hint="请输入联系人......"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:hint_color="gray"
ohos:background_element="$graphic:background_searchtextfield">
TextField>
<Button
ohos:id="$+id:search_but"
ohos:height="match_parent"
ohos:width="0"
ohos:weight="2"
ohos:text="查找"
ohos:text_alignment="center"
ohos:text_size="20vp"
ohos:text_color="#FF186992"
ohos:background_element="$graphic:background_searchbutton">
Button>
DirectionalLayout>
点击其中某个“+”按钮,会新增一行输入框,点击“-”会将新增的输入框减去
点击“清空”会将输入框内容清空,同时由于姓名为输入,则隐藏“确认”按钮
点击“重置”,会将所有的展开行都减去,变回初始状态
基于ListContainer通讯录管理系统/电话本