android按钮锁存行为

时间:2014-01-06 17:34:35

标签: android button layout

我是android和java的新手,所以请善待 - 我知道我的方法不正确 按下按钮时我想要一个状态(进程运行)(一个锁存状态) 我试过的是xml中的以下内容

<Button
    android:id="@+id/my_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click me"
    android:onClick="otherClicked">
</Button> 

然后我尝试处理它(吐司只是为了调试)

public void otherClicked(View v) {
   if(v.getId() == R.id.my_btn) {
      if(v.findViewById(v.getId()).isPressed() == true) {
         Toast.makeText(getBaseContext(), "isPressed", Toast.LENGTH_LONG).show();
      }
   }
}

3 个答案:

答案 0 :(得分:1)

尝试使用onTouchListener

brown = (Button) findViewById(R.id.my_btn);
brown.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            //down clicked
        } else if (event.getAction() == (MotionEvent.ACTION_UP)) {
            //button release
        }
        return false;
    }
});

答案 1 :(得分:0)

试试这个

//如何在XML中定义按钮的示例

<Button
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:text="@string/self_destruct"
     android:onClick="selfDestruct" />

//活动类的示例

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

         setContentView(R.layout.content_layout_id);

         final Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
             }
         });
     }
 }

public void selfDestruct(View view) {
     Toast.makeText(getBaseContext(), "isPressed", Toast.LENGTH_LONG).show(); 
}

答案 2 :(得分:0)

对于两个州,Android有一个toggle button - 请检查一下。按钮具有仅称为单击的行为,但切换按钮具有开/关状态。希望我对你所期待的答案没有错。