java - 优雅的数字按钮更改我的背景活动
问题描述
大家好,我的应用程序中的优雅数字按钮有问题,当我将该按钮放入我的活动中时,当我运行它时,我的背景活动变为与按钮相同的颜色......这怎么可能?我需要帮助。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".DetailsActivity">
<include
android:id="@+id/details_appbar"
layout="@layout/details_appbar" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/details_appbar" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="64dp"
android:paddingRight="64dp"
android:paddingBottom="20dp">
<TextView
android:id="@+id/txt_tituloItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="@string/txt_tituloItem"
android:textColor="@color/white"
android:textSize="25sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imgFoto"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:layout_margin="20dp"
android:contentDescription="@string/IV_item"
android:src="@drawable/image" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_details_view"
android:orientation="vertical"
android:padding="20dp" >
<TextView
android:id="@+id/txt_descripcionItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/txt_descripcionItem"
android:textColor="@color/colorPrimary"
android:textSize="18sp"
android:textStyle="normal" />
<TableLayout
android:id="@+id/priceLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="16dp" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="@string/sale"
android:textAppearance="?android:attr/textAppearance"
android:textColor="@color/colorPrimary"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_precioItem"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="6"
android:gravity="center"
android:text="@string/precio"
android:textColor="@color/red"
android:textSize="20sp"
android:textStyle="bold" />
</TableRow>
</TableLayout>
<TextView
android:id="@+id/quantityLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="@string/quantity"
android:textColor="@color/colorPrimary"
android:textSize="20sp"
android:textStyle="bold" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<com.cepheuen.elegantnumberbutton.view.ElegantNumberButton
android:id="@+id/number_button"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:layout_centerInParent="true"
android:gravity="center"
app:textSize="8sp"
app:initialNumber="1"
app:backGroundColor="@color/red"/>
</RelativeLayout>
</LinearLayout>
<Button
android:id="@+id/btn_agregar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:backgroundTint="@color/red"
android:text="@string/btn_compra"
android:textColor="@color/white" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
我的活动代码:
package es.businessmind.prototype;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.cepheuen.elegantnumberbutton.view.ElegantNumberButton;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import es.businessmind.prototype.Model.Items;
public class DetailsActivity extends AppCompatActivity {
TextView tituloItem, descripcionItem, precioItem, quantityLabel;
ElegantNumberButton numberButton;
ImageView imgItem;
Button btnAdd;
DatabaseReference mDB;
FirebaseAuth mAuth;
FirebaseUser user;
private String UID;
private String idProducto = "";
private Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_details);
Toolbar myToolbar = findViewById(R.id.details_appbar);
setSupportActionBar(myToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
idProducto = getIntent().getStringExtra("ID");
mDB = FirebaseDatabase.getInstance().getReference();
mAuth = FirebaseAuth.getInstance();
user = mAuth.getCurrentUser();
tituloItem = findViewById(R.id.txt_tituloItem);
imgItem = findViewById(R.id.imgFoto);
descripcionItem = findViewById(R.id.txt_descripcionItem);
precioItem = findViewById(R.id.txt_precioItem);
quantityLabel = findViewById(R.id.quantityLabel);
numberButton = findViewById(R.id.number_button);
btnAdd = findViewById(R.id.btn_agregar);
if (user != null) {
UID = user.getUid();
} else {
btnAdd.setVisibility(View.GONE);
quantityLabel.setVisibility(View.GONE);
numberButton.setVisibility(View.GONE);
}
getProductDetails(idProducto);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addingToCartList();
}
});
}
private void getProductDetails(String idProducto) {
mDB.child("Products").child(idProducto).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()) {
Items items = snapshot.getValue(Items.class);
tituloItem.setText(items.getTitulo());
descripcionItem.setText(items.getDescripcion());
precioItem.setText(items.getPrecio());
Glide.with(context).load(items.getUrl()).into(imgItem);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
private void addingToCartList() {
final String saveCurrentTime, saveCurrentDate;
Calendar calForDate = Calendar.getInstance();
SimpleDateFormat currentDate = new SimpleDateFormat("MMM dd, yyyy");
saveCurrentDate = currentDate.format(calForDate.getTime());
SimpleDateFormat currentTime = new SimpleDateFormat("HH:mm:ss a");
saveCurrentTime = currentTime.format(calForDate.getTime());
mDB.child("Users").child(UID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
HashMap<String, Object> postValues = new HashMap<>();
postValues.put("ID", idProducto);
postValues.put("titulo", tituloItem.getText().toString());
postValues.put("precio", precioItem.getText().toString());
postValues.put("date", saveCurrentDate);
postValues.put("time", saveCurrentTime);
postValues.put("quantity", numberButton.getNumber());
mDB.child("Users").child(UID).child("Cart List").child("Products").child(idProducto)
.updateChildren(postValues).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(DetailsActivity.this, "Added to cart list", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(DetailsActivity.this, StoreActivity.class);
startActivity(intent);
}
});
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
我的清单.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="es.businessmind.prototype">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_snowbmind_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".DetailsActivity"
android:parentActivityName=".StoreActivity" />
<activity
android:name=".CartActivity"
android:parentActivityName=".StoreActivity" />
<activity
android:name=".DetailsItems"
android:parentActivityName=".StoreActivity" />
<activity android:name=".StoreActivity" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我的样式.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground"> @drawable/background</item>
</style>
<style name="CustomToolbarStyle" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:background">@color/white</item>
<item name="titleTextColor">@color/colorPrimary</item>
<item name="actionOverflowButtonStyle">@style/CustomOverflowButton</item>
</style>
<style name="CustomOverflowButton" parent="Widget.AppCompat.ActionButton.Overflow">
<item name="android:tint">@color/colorPrimary</item>
</style>
<style name="CustomPopupStyle" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:background">@color/colorPrimary</item>
<item name="android:textColor">@color/white</item>
<item name="overlapAnchor">false</item>
<item name="android:dropDownVerticalOffset">-4dp</item>
</style>
<style name="DetailsAppbar" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your detail appbar theme here. -->
<item name="android:background">@color/white</item>
<item name="android:colorControlNormal">@color/colorPrimary</item>
<item name="titleTextColor">@color/colorPrimary</item>
</style>
<style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
</style>
<style name="NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
解决方案
推荐阅读
- python - MstarUpgrade.bin 文件解压
- android - Fresco - 如何将图像保存到本地存储
- compilation - 纯 D 函数在运行时计算(不是编译时)
- html - 当数组中只有一个元素时不会触发更改事件
- javascript - 使用制表符 (HTML) 遍历子项
- batch-file - 每次按 Enter 时执行命令,直到我按一个键批量退出
- python - 在 Keras 模型中重塑编码器解码器
- php - php base_convert 不适用于非整数?
- jquery - 我无法从 ajax 调用中输出 json
- python-3.x - 如何修复“无法分配请求的地址”。甚至我在mac上用python尝试了许多不同的端口