我正在努力为项目中的按钮设置正确的样式。我不知道为什么shapeAppearance不工作。即使我只使用cornerSize它也不起作用。
我有一个按钮的基本样式:
<style name="SnButton" parent="Widget.MaterialComponents.Button.UnelevatedButton">
<item name="shapeAppearance">@style/MyShapeAppearance</item>
<item name="backgroundTint">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这是我的按钮形状外观:
<style name="MyShapeAppearance" parent="ShapeAppearance.MaterialComponents.SmallComponent">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">2dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这是我的基本主题:Theme.MaterialComponents.Light.NoActionBar.Bridge
在我的情况下,我应该怎么做才能强制shapeAppearance工作?或者至少cornerSize?
我的菜单中有一个按钮,里面有一个“促销代码”。我需要检查用户是否已经点击了它,以便我可以告诉他(下次他点击它时)“You already redeemed this promo code!”我该怎么做?我只需要一段代码,我可以在其中检查按钮是否被点击。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
boolean clicked = false;
switch (item.getItemId()) {
case R.id.getcode:
SharedPreferences pref = getSharedPreferences("promo", MODE_PRIVATE);
boolean activated = pref.getBoolean("activated", false);
if(activated == false) { Button btn = (Button) findViewById(R.id.getcode);
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this);
dlgAlert.setMessage(getString(R.string.congrats) + "\n" + getString(R.string.promcd) + "\n" + "ASC2013-"+Build.ID+"-"+android.os.Build.SERIAL.charAt(3)+"-"+Build.SERIAL.charAt(6)+"-"+Build.SERIAL.charAt(9)+"-"+Build.SERIAL.charAt(12));
dlgAlert.setPositiveButton(R.string.go,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"lorenzocascio@gmail.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(R.string.validreq)+Build.BOOTLOADER);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, getString(R.string.why) …Run Code Online (Sandbox Code Playgroud) android boolean buttonclick sharedpreferences android-button
在我的Android应用程序中,我有一个edittext,下面有两个按钮.第一个是添加按钮,另一个是发送按钮.当用户点击添加按钮时,它应该在第一个下面创建另一个edittext.如果我必须创建已知数量的edittexts并且我可以像这样使用for循环,这很好:
for(int i = 0; i < 20; i++)
{
Edittext et= new Edittext(this);
ll.addView(et);
}
Run Code Online (Sandbox Code Playgroud)
但问题是如果用户多次点击,那么它应该插入多个未知的edtitexts.意味着用户可以单击100次或200次或更多次.因此,不知道用户单击该添加按钮的次数.任何人都可以帮我解决这个问题.. ??
我需要创建一个带背景的按钮并将其放在图片上.我试图LinearLayout Horizontal在它上面下注,然后放上背景图片和按钮.但它看起来不太好.告诉我怎么做?

当我点击buttonandroid 上的CheckData 时,它正在抛出一个nullpointer exception.
SaveData.java
public class SaveData extends Activity implements OnClickListener {
static final int DIALOG_ID = 0;
private Uri mImageCaptureUri;
private ImageView mImageView;
public static class Certificates {
private Bitmap bmp;
public Certificates(Bitmap b) {
bmp = b;
}
public Bitmap getBitmap() { return bmp; }
}
private static final int PICK_FROM_CAMERA = 1;
private static final int PICK_FROM_FILE = 2;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.addname);
View button1Click=findViewById(R.id.btn_choose);
button1Click.setOnClickListener(this);
View button2Click = …Run Code Online (Sandbox Code Playgroud)