『壹』 android在代碼里添加按鈕
你好:
不太理解你的意思,給你寫了個小Demo 是用代碼初始化button
java">{
privateButtonbtn;
privateRelativeLayoutlayout;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout=(RelativeLayout)this.findViewById(R.id.layout);
//初始化button加入布局
btn=newButton(this);
btn.setBackgroundResource(R.drawable.ic_launcher);
layout.addView(btn);
}
}
希望能幫到你
『貳』 android中button有幾種狀態
Android中,button按鈕通常有三個狀態:
1. normal(正常狀態);
2. focus(焦點狀態);
3. pressed(按下狀態)
4. selected(選中狀態)
注意:按下後未松開前是pressed,表示按下。
松開後當前項目獲得焦點,是focused。
focused的項只有一個,selected是當選中該按鈕時顯示的狀態
『叄』 android怎麼移動按鈕
剛才手機在畫面的顯示裡面,點擊移動按鈕就可以移動按鈕。
『肆』 android中帶圖標的按鈕(ImageButton)怎麼用
除了Android系統自帶的Button按鈕以外,還提供了帶圖標的按鈕ImageButton
要製作帶圖標的按鈕,首先要在布局文件中定義ImageButton,然後通過setImageDrawable方法來設置要顯示的圖標。
注意:
我們可以在布局文件中就直接設置按鈕的圖標,如
android:src=」@drawable/icon1″
我們也可以在程序中設置自定義圖標
imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
我們還可以使用系統自帶的圖標
imgbtn4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming));
設置完按鈕的圖標後,需要為按鈕設置監聽setOnClickListener,以此捕獲事件並處理
下面的例子講述的是由4個圖標按鈕組成的布局,其中三個按鈕的圖標是自定義的,第四個按鈕的圖標是系統的,當點擊按鈕1的時候,彈出dialog,當點擊按鈕2的時候,點擊確定後,可以將按鈕2的圖標變成按鈕3的圖標,當點擊按鈕3的時候,按鈕3的圖標變成了系統打電話的圖標,點擊按鈕4,顯示一個提示dialog
ImageButtonTest.java源代碼
package org.loulijun.imagebutton;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
public class ImageButtonTest extends Activity {
/** Called when the activity is first created. */
TextView textview;
ImageButton imgbtn1;
ImageButton imgbtn2;
ImageButton imgbtn3;
ImageButton imgbtn4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textview=(TextView)findViewById(R.id.textview);
//分別取得4個ImageButton對象
imgbtn1=(ImageButton)findViewById(R.id.imagebutton1);
imgbtn2=(ImageButton)findViewById(R.id.imagebutton2);
imgbtn3=(ImageButton)findViewById(R.id.imagebutton3);
imgbtn4=(ImageButton)findViewById(R.id.imagebutton4);
//分別為ImageButton設置圖標
//imgbtn1已經在main.xml布局中設置了圖標,所以就不在這里設置了(設置圖標即可在程序中設置,也可在布局文件中設置)
imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon));//在程序中設置圖標
imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
imgbtn4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming));//設置系統圖標
//下面為各個按鈕設置事件監聽
imgbtn1.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
.setTitle("提示")
.setMessage("我是ImageButton1")
.setPositiveButton("確定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//相應的處理操作
}
}).create();
dialog.show();
}
});
imgbtn2.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
.setTitle("提示")
.setMessage("我是ImageButton2,我要使用ImageButton3的圖標")
.setPositiveButton("確定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
}
}).create();
dialog.show();
}
});
imgbtn3.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
.setTitle("提示")
.setMessage("我是ImageButton3,我想使用系統打電話的圖標")
.setPositiveButton("確定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
imgbtn3.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_action_call));
}
}).create();
dialog.show();
}
});
imgbtn4.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
.setTitle("提示")
.setMessage("我是使用的系統圖標")
.setPositiveButton("確定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//相應的處理操作
}
}).create();
dialog.show();
}
});
}
}
布局文件main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="ImageButton測試案例"
/>
<ImageButton
android:id="@+id/imagebutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon1"
/>
<ImageButton
android:id="@+id/imagebutton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ImageButton
android:id="@+id/imagebutton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ImageButton
android:id="@+id/imagebutton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
『伍』 如何在android界面點擊增加按鈕
如何在android界面點擊增加按鈕
首先:
建立要跳轉的Activity,並在清單文件注冊。這里假設注冊的活動為NextActivity
其次
布局(例如main,xml):加個Button,並加上id,如button1
代碼里:
首先聲明Button的變數:private Button bn;(聲明在OnCreat方法外面)
然後綁定:bn=(Button)findViewById(R.id.button1);
然後弄一個監聽,實現匿名內部類
bn.setOnClickListener(new Button.OnClickListener(){//創建監聽
public void onClick(View v) {
Intent inten=new Intent(MainActivity.this,NextActicity.class);
startActivity(intent);
}
});
當然 如果你嫌匿名內部類太麻煩,也可以在按鈕中寫一個android:onClick="onclick"事件來實現
代碼里加
public void onclick(View v){
Intent inten=new Intent(MainActivity.this,NextActicity.class);
startActivity(intent);
}
這樣也行
『陸』 在android中按鈕共分為幾種
從控制項來說分為2種:button(一般按鈕)和ImageButton(圖片按鈕);
但是大部分時候,開發者是可以通過各種方式自定義按鈕,這樣的話,界面呈現出來的按鈕是多種多樣的;
TextView,view等等,很多控制項其實都可以拿來當按鈕使用;
此外,還有包括ToggleButton,單選按鈕,多選按鈕等這些都屬於是功能比較專一的特殊按鈕了;
我想你只有對android比較了解的情況下,才可能理解深一些吧!
『柒』 怎樣在android中添加按鈕並設置大小
1
打開你的android軟體eclipse.exe
2
軟體打開中
3
點擊Finsh
4
新建一個工程。
5
建工程的參數如下。
6
打開新工程中的main.xml文件。
7
點擊下面的main.xml,進入代碼界面。
8
在初始代碼的下面位置添加按鈕代碼。
9
代碼如下。
『捌』 android點擊按鈕之後改變按鈕的文字
想在android點擊按鈕之後改變按鈕的文字需要給按鈕添加一個監聽事件,然後一監聽到該事件再給這個按鈕調用setText()方法,在方法里可以給按鈕設置文字,具體操作如下:
1、首先使用Android studio創建一個項目,如下圖:
『玖』 android button怎麼用
千鋒扣丁學堂Android開發為您解答:
Button基本使用方法
首先,添加Button控制項到XML布局文件中。也可通過程序添加。
在布局文件中設置按鈕的一些屬性,如位置,寬高,按鈕上的字,顏色等。
比較重要的是要給按鈕一個id號,這是按鈕唯一的名字。
這樣在程序中可以通過如下形式獲得按鈕:
button = (Button)findViewById(R.id.buttonId);
處理按鈕點擊
按鈕點擊有兩種處理方法。
第一種是通過onClick屬性,通過這個屬性設置處理點擊事件的方法名,在Activity中實現這個方法。
另一種方法是典型的事件監聽機制的應用形式,下面詳細說明這兩種方法。
1.通過onClick屬性設置處理方法
在XML布局文件中設置Button的屬性:
android:onClick="yourMethodName"
然後在該布局文件對應的Acitivity中實現該方法:
/** Called when the user touches the button */
public void yourMethodName(View view)
{
// Do something in response to button click
}
需要注意的是這個方法必須符合三個條件:
1.public
2.返回void
3.只有一個參數View,這個View就是被點擊的這個控制項。
2.使用setOnClickListener添加監聽器對象
可以寫一個內部類,實現OnClickListener介面,在這個類中實現onClick方法,方法裡面寫在按鈕點擊時想做的具體工作。
將這個內部類的對象傳入按鈕的setOnClickListener方法中,即完成監聽器對象和按鈕的綁定(在事件源Button上注冊了事件監聽器),這時候只要按鈕被點擊,那麼監聽器對象的onClick方法就會被調用。
當然這里也不一定要自己寫一個內部類出來,比如這個例子:
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
}
});
『拾』 android 中怎樣給按鈕添加點擊事件
xml文件代碼如下:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2" />
四種方法分述如下:
匿名內部類:
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
tst.show();
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show();
}
});
}
}
自定義單擊事件監聽類:
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
class MyClickListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new MyClickListener());
btn2.setOnClickListener(new MyClickListener());
}
}
Activity繼承View.OnClickListener,由Activity實現OnClick(View view)方法,在OnClick(View view)方法中用switch-case對不同id代表的button進行相應的處理
public class TestButtonActivity extends Activity implements OnClickListener {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
最後一種是我今天看到的一種寫法,在XML文件中「顯示指定按鈕的onClick屬性,這樣點擊按鈕時會利用反射的方式調用對應Activity中的click()方法」
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button2" />
這里在輸完android:的時候按下 Alt+/ 會有 onClick 屬性的提示, 但輸入到 android:onClick=「 的地方按下 Alt+/ 並沒有提示 onClick 選項,讓我突然覺得這里好像有點問題。
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
}
// 注意 這里沒有 @Override 標簽
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
這種寫法整個代碼中都不用聲明button就可以實現button的單擊事件。
以上就是四種實現按鈕單擊事件的方法。
粗略總結一下,就是按鈕少的時候用匿名內部類會比較快,比如寫demo測試的時候或者登陸界面之類的。
按鈕多的情況我還是選擇第三種方法,方便。
關於第四種方法,我感覺最方便,但看了很多代碼還是覺得寫法不夠大眾化,感興趣的朋友可以對此研究研究。相信會有不少收獲。