按钮是不可点击或可成为焦点 [英] Button is not clickable or focusable
问题描述
我创建了一个按钮,在我的屏幕上的XML是这样的:
<按钮的android:文本=让我们开始
机器人:背景=@可绘制/ btnbg
机器人:ID =@ + ID / btn_nav_let_strtd机器人:layout_width =WRAP_CONTENT
机器人:layout_height =35px
机器人:文字颜色=#FFFFFF
机器人:layout_alignParentLeft =真
机器人:drawableRight =@可绘制/箭头
机器人:drawableLeft =@可绘制/ nav_getstart>
< /按钮>
< / LinearLayout中>
设置点击listenrss
私人的LinearLayout ll_get_started;
@覆盖
保护无效的onCreate(包savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
的setContentView(R.layout.navigation);
btn_nav_lets_get_strtd =(按钮)findViewById(R.id.btn_nav_let_strtd);
btn_nav_lets_get_strtd.setClickable(真正的);
}
私人无效setOnclickListeners(){
btn_nav_lets_get_strtd.setOnClickListener(新View.OnClickListener(){
公共无效的onClick(视图v){
的System.out.println(点击);
Toast.makeText(NavigationScreen.thisFGD,Toast.LENGTH_SHORT).show();
}
});
但是,当我尝试点击这个按钮,它既不是可以点击的,也可成为焦点。我如何将其设置为可点击的?
我现在用的是statelist绘制,不过这台集中或在单击时的背景。我想设置一个永久性的背景,这个按钮。
和被拉伸的是不是一个位图,它是一个可拉伸statlist btnbg。 XML是如下:
<选择的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:constantSize =真
机器人:抖动=真
机器人:variablePadding =真正的>
<项目
机器人:可绘制=@可绘制/ nav_blue_bar
机器人:STATE_ pressed =真
/>
您应该添加一个监听器监听按钮所处的CLIC事件是这样的:
按钮BTN =(按钮)findViewById(R.id.btn1);
//添加监听到你的按钮
btn.addOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
Toast.makeText(YourActivity.this的按钮被点击...,3000).show();
}
});
I have created a button in my screen's XML like this:
<Button android:text="Lets Get Started"
android:background="@drawable/btnbg"
android:id="@+id/btn_nav_let_strtd"android:layout_width="wrap_content"
android:layout_height="35px"
android:textColor="#FFFFFF"
android:layout_alignParentLeft="true"
android:drawableRight="@drawable/arrow"
android:drawableLeft="@drawable/nav_getstart">
</Button>
</LinearLayout>
set click listenrss
private LinearLayout ll_get_started;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.navigation);
btn_nav_lets_get_strtd = (Button) findViewById(R.id.btn_nav_let_strtd);
btn_nav_lets_get_strtd.setClickable(true);
}
private void setOnclickListeners() {
btn_nav_lets_get_strtd.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
System.out.println("clicked");
Toast.makeText(NavigationScreen.this, "fgd",Toast.LENGTH_SHORT).show();
}
});
But when I try to click this button, it is neither clickable nor focusable. How do I set it as clickable?
I am now using a statelist drawable, but it sets the background when focused or clicked. I want to set a permanent background to this button.
And the drawable is not a bitmap, it is a statlist drawable btnbg. XML is below:
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true"
android:dither="true"
android:variablePadding="true" >
<item
android:drawable="@drawable/nav_blue_bar"
android:state_pressed="true"
/>
you should add a listener to listen the clic event on your button like this :
Button btn = (Button)findViewById(R.id.btn1);
//add the listener to your Button
btn.addOnClickListener( new OnClickListener(){
@Override
public void onClick(View v ){
Toast.makeText(YourActivity.this, "the button is clicked ...", 3000).show();
}
});
这篇关于按钮是不可点击或可成为焦点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!