我想在点击后在他自己的onClick方法中删除一个Button.我用正常的方式尝试了它: layout.removeView(save); 但该按钮不会被删除,我没有错误.如果我想添加Button,我会收到一个错误,因为按钮已经消失了.
我认为它不起作用,因为我在他的OnClickHandler处于活动状态期间删除按钮.所以我的问题是如何在点击后删除按钮?
我试图使用android的内置控件CompoundButton,但我没有运气在xml中使用它,这是我的代码
<CompoundButton
android:id="@+id/mini_recorder_play"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_weight="1"
android:background="@drawable/play_d" />
Run Code Online (Sandbox Code Playgroud)
在充气时抛出异常.
我想创建一个按钮,在按下时发送'W',在发布时发送'X'.我现在编码的方式,当我按下按钮时,它什么也没做,当我发布它时,它发送'W'.我究竟做错了什么?码:
but = new Button(this);
but.setText("FORWARD");
but.setGravity(Gravity.CENTER);
but.setId(Tab2_Forward);
but.setOnClickListener(this);
but.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
panelH.addView(but);
public void onClick(View v) {
int cmdId = v.getId();
if (cmdId == Menu_Tab1) {
startDiscoverBluetoothDevices();
}
if (cmdId == Tab2_Forward) {
if (Bee_btSocket != null)
try {
Bee_btSocket.getOutputStream().write('w');
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个简单的代码,在TextView按下按钮或用户按"Enter"后显示字符串.当用户按下按钮时,所有都被找到,但是当按下"enter"时,它调用performClick()调用与按钮相同的功能.但我的功能总是被称为两次:
private OnKeyListener ChampKeyListener = new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_ENTER)
{
recherche.performClick(); // recherche is my button
}
return false;
}
};
private OnClickListener RechercheListener = new OnClickListener() {
@Override
public void onClick(View v) {
//whatever I have tried here it is always called twice
}
};
Run Code Online (Sandbox Code Playgroud)
我怎么能阻止它.我已经看到我可以解决我去另一个View或Activity但我不想使用那些.
任何提示?谢谢!
如何删除按钮背景资源我提到了这一点,但我需要删除按钮背景,并应根据deviceDefault主题更改背景.意味着只删除上次添加的资源,而不是分配新的资源.
任何人都可以帮忙解决这个问题吗?谢谢
我知道我可以通过以下方式更改按钮上文本的颜色:
button.setTextColor(getApplication().getResources().getColor(R.color.red)); //TAKE DEFAULT COLOR
Run Code Online (Sandbox Code Playgroud)
要么
button.setTextColor(0xff0000); //SET CUSTOM COLOR
Run Code Online (Sandbox Code Playgroud)
要么
button.setTextColor(Color.parseColor("#ff0000"));
Run Code Online (Sandbox Code Playgroud)
但是我想为文本使用两种颜色:例如,假设我的按钮具有以下文本:"Click Here",我希望"Click"部分显示为红色,"Here"部分显示为蓝色.
这可能吗 ?
出于多种原因,我不得不将ImageView定义为按钮,因为它看起来更好.但是当我点击它没有按钮的效果时,我该怎么做?
我正在尝试练习,这意味着我需要使用按钮从imageView更改图像.整个事情被实施到练习的另一个项目中.
问题是:它甚至没有在第二种情况下打开Toast"测试".
package de.vogella.android.temperature;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;
public class MainActivity extends Activity{
private EditText text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (EditText) findViewById(R.id.editText1);
Button button1 = (Button) findViewById(R.id.tempbutton);
Button button2 = (Button) findViewById(R.id.imageconverter);
OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tempbutton:
button1Click();
break;
case R.id.imageconverter:
button2Click();
break;
}
}
}; …Run Code Online (Sandbox Code Playgroud) android button switch-statement android-imageview android-button
我面临一个问题。
我想使用20dp的填充将按钮的文本对齐到底部。但是,文本停留在我的按钮的底部。
<Button
android:id="@+id/CatButton"
android:layout_width="match_parent"
android:layout_height="150dp"
android:paddingBottom="20dp"
android:background="@drawable/rounded_1_selected"
android:gravity="bottom|center_horizontal"
android:text="test"/>
Run Code Online (Sandbox Code Playgroud)
谁能帮帮我吗?