如何解决imageview 不显示,重量和高度为 0
您好,感谢您花时间阅读本文。虽然我有 C# 和 C++ 的经验,但我是 Android 的初学者。我目前正在生成一个带有按钮的 qr,该按钮应该将不可见的图像视图变为可见。这是我的 xml
<?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=".ChargeActivity">
<include layout="@layout/toolbar" />
<EditText
android:id="@+id/currency_amount"
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="272dp"
android:inputType="numberDecimal"
android:hint="Ingrese el monto"
app:layout_anchor="@+id/include"
app:layout_anchorGravity="center" />
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="-143dp"
android:layout_marginEnd="-12dp"
android:layout_marginBottom="3dp" />
<Button
android:id="@+id/generateqr_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:onClick="onClick"
android:text="Generar QR"
app:layout_anchor="@+id/include"
app:layout_anchorGravity="center" />
<ListView
android:id="@+id/transactions"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="19dp" />
<ImageView
android:id="@+id/qr_image"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
/>
</RelativeLayout>
这是我的 java
public class ChargeActivity extends AppCompatActivity {
public static final String ARG_USER = "USER";
String user = "";
private Bitmap bitmap;
private ImageView qrImage;
private String inputValue;
private EditText amount;
private ListView transactions;
private Spinner spinner;
private static final String[] currencies = {"Bolivars","Petros","Dollars"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_charge);
user = getIntent().getStringExtra(ARG_USER);
qrImage = findViewById(R.id.qr_image);
qrImage.setVisibility(View.GONE);
Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.setTitle(user);
setSupportActionBar(toolbar);
// Get a support ActionBar corresponding to this toolbar
getSupportActionBar().setdisplayHomeAsUpEnabled(true);
setContentView(R.layout.activity_charge);
//Spinner Setup
spinner = (Spinner) findViewById(R.id.spinner);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(ChargeActivity.this,android.R.layout.simple_spinner_item,currencies);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
//ListView Setup
transactions = findViewById(R.id.transactions);
ArrayList<String> transaction_list = new ArrayList<String>();
transaction_list.add("bolaeyunke te ha enviado 1920 petros");
transaction_list.add("bolaeyunke te ha enviado 1932232320 bolivares");
transaction_list.add("bolaeyunke te ha enviado 1923230 dolares");
transaction_list.add("El Comandante te ha enviado 120 petros");
ArrayAdapter transaction_adapter = new ArrayAdapter(ChargeActivity.this,android.R.layout.simple_list_item_1,transaction_list);
transactions.setAdapter(transaction_adapter);
//Generate QR button setup
Button generateQRButton = findViewById(R.id.generateqr_button);
generateQRButton.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
amount = findViewById(R.id.currency_amount);
String montos = amount.getText().toString();
inputValue = user + ";" + adapter.getItem(spinner.getSelectedItemPosition()).toString()+";"+amount.getText().toString();
//setting up for qr display
WindowManager manager = (WindowManager) getSystemService(WINDOW_SERVICE);
display display = manager.getDefaultdisplay();
Point point = new Point();
display.getSize(point);
int width = point.x;
int height = point.y;
int smallerDimension = width < height ? width : height;
smallerDimension = smallerDimension * 3 / 4;
QRGEncoder qrgEncoder = new QRGEncoder(inputValue,null,QRGContents.Type.TEXT,smallerDimension);
qrgEncoder.setColorBlack(Color.RED);
qrgEncoder.setColorWhite(Color.BLUE);
try {
// Getting QR-Code as Bitmap
bitmap = qrgEncoder.getBitmap();
// Setting Bitmap to ImageView
qrImage.setimageBitmap(Bitmap.createScaledBitmap(bitmap,120,false));
qrImage.setVisibility(View.VISIBLE);
//Still need to implement an escape from showing the qr image
} catch (Exception e) {
e.getMessage();
}
}
});
}
我的图像视图不仅保持不可见,而且当我调试时,我看到图像视图的宽度和高度为 0。我没有收到任何错误,但它只是不显示。在阅读了一些问题并认为这就是问题后,我添加了位图调整大小。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。