星空网 > 软件开发 > 操作系统

android基础组件

  按钮由文本或图标(或文本和一个图标)组成,当用户触摸到它时,会发生一些动作。今天我们开始Button的学习。

Button的简要说明

根据你是否想要一个带有文本的按钮,一个图标,或者两者,你可以在三种方式中创建按钮来进行布局:

  android基础组件images/loading.gif' data-original="data:image/png;base64,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" />

  • With text, using the Button class:
<Button  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="@string/button_text"  ... />

  • With an icon, using the ImageButton class:
<ImageButton  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:src='/images/loading.gif' data-original="@drawable/button_icon"  ... />

  • With text and an icon, using the Button class with the android:drawableLeft attribute:
<Button  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="@string/button_text"  android:drawableLeft="@drawable/button_icon"  ... />

 

按钮的响应

1) 在中定义的Button中增加属性android:onClick

<??><Button ="http://schemas.android.com/apk/res/android"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="@string/button_send"  android:onClick="sendMessage" />

  • 在MainActivity中定义sendMessage方法:
public void sendMessage(View view) {  // Do something in response to button click}

2) 在代码中使用OnClickListener

Button button = (Button) findViewById(R.id.button_send);button.setOnClickListener(new View.OnClickListener() {  public void onClick(View v) {    // Do something in response to button click  }});

 

按钮样式

1) Borderless button : To create a borderless button, apply the borderlessButtonStyle style to the button.

<Button  android:onClick="sendMessage"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="bordless button"  style="?android:attr/borderlessButtonStyle" />

2) Custom background: Instead of supplying a simple bitmap or color, however, your background should be a state list resource that changes appearance depending on the button's current state

  • Create three bitmaps for the button background that represent the default, pressed, and focused button states. 
  • Place the bitmaps into the res/drawable/ directory of your project. Be sure each bitmap is named properly to reflect the button state that they each represent.

  android基础组件

  • Create a new
<??><selector ="http://schemas.android.com/apk/res/android">  <item android:drawable="@drawable/button_pressed"    android:state_pressed="true" />  <item android:drawable="@drawable/button_focused"    android:state_focused="true" />  <item android:drawable="@drawable/button_default" /></selector>

  • Then simply apply the drawable
<Button  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="send button"  android:background="@drawable/button_custom" />

 

测试的项目

 项目结构:

android基础组件

MainActivity.java:

package com.huhx.linux.buttontest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;public class MainActivity extends AppCompatActivity {  private Button button;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    button = (Button) findViewById(R.id.sendButton);    button.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        Toast.makeText(MainActivity.this, "button click", Toast.LENGTH_SHORT).show();      }    });  }  // bordless button  public void sendMessage(View view) {    Toast.makeText(MainActivity.this, "Borderless Button", Toast.LENGTH_SHORT).show();  }}

 button_custom.

<??><selector ="http://schemas.android.com/apk/res/android">  <item android:drawable="@drawable/button_pressed"    android:state_pressed="true" />  <item android:drawable="@drawable/button_focused"    android:state_focused="true" />  <item android:drawable="@drawable/button_default" /></selector>

 activity_main.

<??><LinearLayout ="http://schemas.android.com/apk/res/android"  ="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  tools:context="com.huhx.linux.buttontest.MainActivity">  <Button    android:id="@+id/sendButton"    android:text="text button"    android:layout_width="wrap_content"    android:layout_height="wrap_content" />  <ImageButton    android:src='/images/loading.gif' data-original="@mipmap/ic_launcher"    android:layout_width="wrap_content"    android:layout_height="wrap_content" />  <Button    android:drawableRight="@mipmap/ic_launcher"    android:text="Linux"    android:layout_width="wrap_content"    android:layout_height="wrap_content" />  <Button    android:onClick="sendMessage"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="bordless button"    style="?android:attr/borderlessButtonStyle" />  <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="send button"    android:background="@drawable/button_custom" /></LinearLayout>

 运行效果如下:

android基础组件

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

马来西亚陆运专线:https://www.goluckyvip.com/tag/90427.html
海运专线马来西亚:https://www.goluckyvip.com/tag/90431.html
马来西亚专线专线:https://www.goluckyvip.com/tag/90432.html
义乌到马来西亚海运专线:https://www.goluckyvip.com/tag/90433.html
马来西亚专线 货运:https://www.goluckyvip.com/tag/90434.html
至马来西亚物流专线:https://www.goluckyvip.com/tag/90437.html
最新研究:亚马逊、沃尔玛、Temu和Shein卖家重合率不断攀升:https://www.kjdsnews.com/a/1836554.html
三清山好玩乜?:https://www.vstour.cn/a/365182.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流