Button 使用详解

strip

极力推荐文章:欢迎收藏
Android 干货分享

1240

阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

一、Button 的继承关系
二、Button 简单使用举例
三、自定义 Button 选择器
四、Button 点击事件
五、onClick属性 实现点击事件

一、Button 的继承关系

Button继承 TextView,具体关系如下:

java.lang.Object
   ↳    android.view.View
       ↳    android.widget.TextView
           ↳    android.widget.Button

二、Button 简单使用举例

使用 xml布局跟java代码动态设置TextView

  • 1.xml布局如下:
 <Button
     android:id="@+id/button_id"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:text="@string/self_destruct" />
    1. java代码中使用方法如下:

Button OnClickListener方法实现如下:

 public class MyActivity extends Activity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

         setContentView(R.layout.content_layout_id);

         final Button button = findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Code here executes on main thread after user presses button
             }
         });
     }
 }

三、 自定义 Button 选择器

自定义Button选择器,可以更加友好的跟用户进行交互。

    1. xml布局使用
    <Button
        android:id="@+id/btn_selector"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/custom_btn_green_selector"
        android:text="一、自定义Button背景选择器 "
        android:textColor="@color/white" />
  • 2.Button背景选择器实现
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 按下去的背景颜色显示效果 -->
    <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/>
    <!-- 获取焦点时背景颜色显示效果 -->
    <item android:drawable="@drawable/btn_pressed" android:state_focused="true"/>
    <!-- 没有任何状态下的背景颜色 -->
    <item android:drawable="@drawable/btn_normal"/>

</selector>
    1. java代码中点击实现 效果
public class ButtonMethod extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_button);
        // 一、自定义Button背景选择器、匿名内部类实现点击事件
        Button mBtnSelector = (Button) findViewById(R.id.btn_selector);
        mBtnSelector.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(ButtonMethod.this, "你点击了按钮选择器", 1).show();
            }
        });
        // 一、自定义Button背景选择器、匿名内部类实现点击事件
    }
}
  • 4.Button 正常以及获取焦点图片素材

btn_pressed.9.png

btn_normal.9.png

四、Button 点击事件

    1. xml 布局使用
    <Button
        android:id="@+id/btn_test"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:text="二、按钮点击事件 实现"
        android:textColor="@color/white" />
    1. java代码中点击实现 效果
public class ButtonMethod extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_button);

        // 二、按钮点击事件 实现
        Button mButton = (Button) findViewById(R.id.btn_test);
        BtnClick mBtnClick = new BtnClick();
        mButton.setOnClickListener(mBtnClick);
        // 二、按钮点击事件 实现

    }

    // 二、按钮点击事件 实现
    class BtnClick implements OnClickListener {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast.makeText(ButtonMethod.this, "你点击了按钮点击事件 实现", 1).show();
        }

    }

    // 二、按钮点击事件 实现
}

五、onClick 属性 实现点击事件

    1. xml 布局使用
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/custom_btn_white_selector"
        android:onClick="BtnTestonClick"
        android:text="三、使用 onClick 属性待替 Click 事件"
        android:textColor="@color/grey" />
    1. java 代码中点击实现 效果
public class ButtonMethod extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
    }

    
    // 三、使用 onClick 实现点击事件
    public void BtnTestonClick(View view) {

        Toast.makeText(this, "你点击了onClick属性按钮", 1).show();
    }
    // 三、使用 onClick 实现点击事件
}
    1. 实现效果如下:

点击实现效果

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

微信关注公众号: 程序员Android,领福利

转载于:https://www.cnblogs.com/wangjie1990/p/11310793.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
undetected-chromedriver是一个Python库,它可以帮助你在爬虫程序中使用Chrome浏览器来进行自动化操作。相比于原生的chromedriver,undetected-chromedriver有以下优点: 1. 自动处理Chrome浏览器的User-Agent、WebGL指纹、Canvas指纹等特征,减少被检测到的概率; 2. 可以模拟人类操作,比如模拟鼠标移动、键盘输入等; 3. 提供了更加友好的API,方便使用。 下面是undetected-chromedriver的使用详解: 1. 安装undetected-chromedriver 你可以使用pip来安装undetected-chromedriver: ``` pip install undetected-chromedriver ``` 2. 创建Chrome浏览器实例 ```python import undetected_chromedriver.v2 as uc driver = uc.Chrome() ``` 3. 访问网页 ```python driver.get('https://www.baidu.com') ``` 4. 查找元素 ```python from selenium.webdriver.common.by import By # 查找搜索框 search_box = driver.find_element(By.ID, 'kw') # 查找搜索按钮 search_button = driver.find_element(By.ID, 'su') ``` 5. 模拟操作 ```python from selenium.webdriver.common.action_chains import ActionChains # 模拟在搜索框中输入关键词 actions = ActionChains(driver) actions.move_to_element(search_box) actions.click() actions.send_keys('undetected-chromedriver') actions.perform() # 模拟点击搜索按钮 search_button.click() ``` 6. 获取页面内容 ```python # 获取页面源代码 html = driver.page_source # 获取当前URL url = driver.current_url ``` 7. 关闭浏览器 ```python driver.quit() ``` 总的来说,undetected-chromedriver是一个很好用的Python库,它可以帮助我们在爬虫程序中使用Chrome浏览器来进行自动化操作,并且减少被检测到的概率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值