我试图在图像按钮上设置前景图像.经过一些研究,我发现了这个代码示例:
<ImageButton android:text="Button" android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"/>
Run Code Online (Sandbox Code Playgroud)
我的查询是如何在代码中实际实现android:src.
我对如何实施"个人指南针"感到困惑,即指向特定方位而不是标准"北极"的指南针...不幸的是,我目前的尝试出错了(不指向给定方位).它还与加速器连接,能够根据用户转向的方式动态调整自身.
这是我目前的尝试(onSensorChanged()更新箭头的方法):
public void onSensorChanged( SensorEvent event ) {
// If we don't have a Location, we break out
if ( LocationObj == null ) return;
float azimuth = event.values[0];
float baseAzimuth = azimuth;
GeomagneticField geoField = new GeomagneticField( Double
.valueOf( LocationObj.getLatitude() ).floatValue(), Double
.valueOf( LocationObj.getLongitude() ).floatValue(),
Double.valueOf( LocationObj.getAltitude() ).floatValue(),
System.currentTimeMillis() );
azimuth += geoField.getDeclination(); // converts magnetic north into true north
//Correct the azimuth
azimuth = azimuth % 360;
//This is where we choose to point it …Run Code Online (Sandbox Code Playgroud) 我有一个ImageView.我imageView.setImageBitmap用来将我的图像设置为背景ImageView.但它将我的图像设置为ImageView源(即android:src),但它不会将我的图像设置为ImageView背景(即android:background).
当我使用imageView.setImageBitmap,它看起来像,好像我以前imageView.setImageResource没有imageView.setBackgroundResource.
如果我想使用将图像设置为背景,我该如何处理imageView.setImageBitmap.我知道我可以通过制作习惯来做到这一点ImageView.但是没有习惯可能ImageView吗?如果有可能,请告诉我怎么做.
所以我从这里尝试了代码:用掩码创建一个ImageView.我使用以下图像作为原始和掩码:


但是,我得到的结果是这样的:

请注意,窗口背景不是黑色,而是全息光(在星系连接上看起来像一个非常浅的灰色,而不是完全白色).第二个图像是在列表视图中选择项目时得到的结果.
相反,如果我使用相同的算法创建一个新的位图,然后将其传递给图像视图而不是覆盖onDraw(),它会正确绘制:
Canvas canvas = new Canvas();
Bitmap mainImage = //get original image
Bitmap maskImage = //get mask image
Bitmap result = Bitmap.createBitmap(mainImage.getWidth(), mainImage.getHeight(), Bitmap.Config.ARGB_8888);
canvas.setBitmap(result);
Paint paint = new Paint();
paint.setFilterBitmap(false);
canvas.drawBitmap(mainImage, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
canvas.drawBitmap(maskImage, 0, 0, paint);
paint.setXfermode(null);
imageView.setImageBitmap(result);
Run Code Online (Sandbox Code Playgroud)
我得到了预期的结果:

请注意,正确应用了淡入淡出.选择时,这一点更为明显.
那么ImageView的onDraw方法是如何创建这个黑色背景而不是让窗口背景显示的呢?有趣的是,如果原始图像本身具有一定的透明度,则该透明度得到尊重,例如:

我自己无法弄明白.我宁愿能够在onDraw上进行,而不是预先创建位图,因为它只适用于位图作为源和掩码.我希望能够使用其他可绘制的内容,如渐变和纯色,但在这些情况下,宽度和高度未设置.
我正在从图库(相册)中选取的imageview上设置图像.如果摄取的图像具有横向,它显示完美,但如果在肖像模式(即图像被点击在纵向模式下),它会显示一个90度旋转图像的图像.现在我试图在设置imageview之前找出方向,但所有图像都给出相同的方向和相同的宽度 - 高度.这是我的代码:
Uri selectedImage = intent.getData();
if (selectedImage != null) {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
int str = new ExifInterface(selectedImage.getPath()).getAttributeInt("Orientation", 1000);
Toast.makeText(this, "value:" + str, Toast.LENGTH_LONG).show();
Toast.makeText(this, "width:" + bitmap.getWidth() + "height:" + bitmap.getHeight(), Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

我希望父视图设置ImageView的宽度,高度应该是高宽比例.原因是next会显示一个我想放在ImageView下面的TextView.
我可以使用正确显示图像
android:layout_width="fill_parent"
android:layout_height="fill_parent"
Run Code Online (Sandbox Code Playgroud)
但是ImageView高度变为父高度,远远大于显示的拉伸图像的高度.一个想法是让父母垂直变小,但是......我还不知道拉伸的图像大小.
以下操作无效,因为水平未填充小图像.
android:layout_width="fill_parent"
android:layout_height="wrap_content"
Run Code Online (Sandbox Code Playgroud)
随波逐流
android:layout_height="wrap_content"
Run Code Online (Sandbox Code Playgroud)
对于它周围的RelativeLayout一切都没有帮助.还尝试了FrameLayout和LinearLayout并失败了.
有任何想法吗?
我想检查ImageView在xml中附加了哪个图像资源,我能够检查哪个图像资源附加到图像视图但我的要求是如何检查它是否ImageView具有我设置为xml的相同资源,基于我需要执行一些actions.Code总是执行其他部分.以下是我的代码,
if (regProfile.getDrawable() == getResources().getDrawable( R.drawable.ivpic))
{
Toast.makeText(_con, "Image is ivPic", Toast.LENGTH_LONG).show();
// new RegisterAsyntaskNew().execute();
}
else
{
Toast.makeText(_con, "Image isn't ivPic", Toast.LENGTH_LONG).show();
// new RegisterAsyntask().execute();
}
Run Code Online (Sandbox Code Playgroud) 我在我的框架布局上添加了一个imageview.在这里,我想得到我的imageview中心坐标.我将使用相同的坐标在下一个布局中设置我的imageview.请建议我如何获得我的imageview的中心坐标.
提前致谢
我有一个imageveiw最初应该是隐藏模式,
<ImageView
android:id="@+id/custom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|right"
android:src="@drawable/custom1" />
Run Code Online (Sandbox Code Playgroud)
我创建了一个登录页面..每当我的登录成功,我应该显示图像.
有了ImageView,我可以使用以下代码下载带回调的图像
Picasso.with(activity).load(url).into(imageView, new Callback()
{
@Override
public void onSuccess()
{
// do something
}
@Override
public void onError() { }
);
Run Code Online (Sandbox Code Playgroud)
或者只是从中获取Bitmap Picasso.with(activity).load(url).get();.无论如何都要添加回调才能下载图像?如果可能请提供示例代码,干杯!