当前位置:   article > 正文

【鸿蒙】HarMonyOS之Button组件的常用属性_鸿蒙设置button不可点击

鸿蒙设置button不可点击

Button是一种常见的组件,点击可以触发对应的操作,通常由文本或图标组成,也可以由图标和文本共同组成。

图1 文本按钮

图2 图标按钮

图3 图标和文本共同组成的按钮

支持的XML属性

Button无自有的XML属性,共有XML属性继承自Text

创建Button

创建如下样式的按钮:

  1. 在layout目录下的xml文件中创建Button,并设置按钮的背景形状、颜色。

    常用的背景如文本背景、按钮背景,通常采用XML格式放置在graphic目录下。

    1. <Button
    2. ohos:id="$+id:button"
    3. ohos:width="match_content"
    4. ohos:height="match_content"
    5. ohos:text_size="27fp"
    6. ohos:text="button"
    7. ohos:background_element="$graphic:background_button"
    8. ohos:left_margin="15vp"
    9. ohos:bottom_margin="15vp"
    10. ohos:right_padding="8vp"
    11. ohos:left_padding="8vp"
    12. ohos:element_left="$media:ic_btn_reload"
    13. />

     

  2. 在“Project”窗口,打开“entry > src > main > resources > base”,右键点击“graphic”文件夹,选择“New > File”,命名为“background_button.xml”,在该文件中定义按钮的背景形状、颜色
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
    3. ohos:shape="rectangle">
    4. <corners
    5. ohos:radius="10"/>
    6. <solid
    7. ohos:color="#007CFD"/>
    8. </shape>

     

响应点击事件

按钮的重要作用是当用户单击按钮时,会执行相应的操作或者界面出现相应的变化。实际上用户点击按钮时,Button对象将收到一个点击事件。开发者可以自定义响应点击事件的方法。例如,通过创建一个Component.ClickedListener对象,然后通过调用setClickedListener将其分配给按钮。

  1. Button button = (Button) findComponentById(ResourceTable.Id_button);
  2. // 为按钮设置点击事件回调
  3. button.setClickedListener(new Component.ClickedListener() {
  4. @Override
  5. public void onClick(Component component) {
  6. // 此处添加点击按钮后的事件处理逻辑
  7. }
  8. });

不同类型的按钮

按照按钮的形状,按钮可以分为:普通按钮,椭圆按钮,胶囊按钮,圆形按钮等。

  • 普通按钮

    普通按钮和其他按钮的区别在于不需要设置任何形状,只设置文本和背景颜色即可,例如:
    1. <Button
    2. ohos:width="150vp"
    3. ohos:height="50vp"
    4. ohos:text_size="27fp"
    5. ohos:text="button"
    6. ohos:background_element="$graphic:color_blue_element"
    7. ohos:left_margin="15vp"
    8. ohos:bottom_margin="15vp"
    9. ohos:right_padding="8vp"
    10. ohos:left_padding="8vp"
    11. />

     

  • color_blue_element.xml:

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
    3. ohos:shape="rectangle">
    4. <solid
    5. ohos:color="#007CFD"/>
    6. </shape>

     

  • 椭圆按钮

    椭圆按钮是通过设置background_element的来实现的,background_element的shape设置为椭圆(oval),例如:

    1. <Button
    2. ohos:width="150vp"
    3. ohos:height="50vp"
    4. ohos:text_size="27fp"
    5. ohos:text="button"
    6. ohos:background_element="$graphic:oval_button_element"
    7. ohos:left_margin="15vp"
    8. ohos:bottom_margin="15vp"
    9. ohos:right_padding="8vp"
    10. ohos:left_padding="8vp"
    11. ohos:element_left="$media:ic_btn_reload"
    12. />
    oval_button_element.xml:
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
    3. ohos:shape="oval">
    4. <solid
    5. ohos:color="#007CFD"/>
    6. </shape>

     

  • 胶囊按钮

    胶囊按钮是一种常见的按钮,设置按钮背景时将背景设置为矩形形状,并且设置ShapeElement的radius的半径,例如:

    capsule_button_element.xml:

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
    3. ohos:shape="rectangle">
    4. <corners
    5. ohos:radius="100"/>
    6. <solid
    7. ohos:color="#007CFD"/>
    8. </shape>

     

  • 圆形按钮

    圆形按钮和椭圆按钮的区别在于组件本身的宽度和高度需要相同,例如:

    1. <Button
    2. ohos:id="$+id:button"
    3. ohos:width="50vp"
    4. ohos:height="50vp"
    5. ohos:text_size="27fp"
    6. ohos:background_element="$graphic:circle_button_element"
    7. ohos:text="+"
    8. ohos:left_margin="15vp"
    9. ohos:bottom_margin="15vp"
    10. ohos:right_padding="15vp"
    11. ohos:left_padding="15vp"
    12. />

    circle_button_element.xml:

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
    3. ohos:shape="oval">
    4. <solid
    5. ohos:color="#007CFD"/>
    6. </shape>

     

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/275683
推荐阅读
相关标签
  

闽ICP备14008679号