我能以某种方式以编程方式制作一个ImageView的打印屏幕吗?
假设我正在显示不同大小的大照片,自动缩放(AspectFit)到屏幕尺寸,居中和黑色背景.我想捕获包括黑色imageview背景的缩放图像,以使用320x480图像.
那么如何将350x600图像更改为带有黑色边框的320x480并且没有任何其他元素(按钮,标签)覆盖此imageview?在Android上我只是捕获屏幕缓冲区,但对于iPhone我真的不知道怎么做...
提前致谢!
如果我有一个包含ImageViews的LinearLayout,如何编写代码来判断哪个(如果有的话)被屏幕边缘剪切了?
<LinearLayout android:id="@+id/imagecontainer"
android:orientation="horizontal"
android:layoutHeight="wrap_content"
android:layoutWidth="fill_parent">
<ImageView android:id="@+id/image1" .../>
<ImageView android:id="@+id/image2" .../>
...
<ImageView android:id="@+id/imageN" .../>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我想象类似的东西,如果没有人被裁剪,它将返回一个索引或0。函数调用的语义并不是很重要……我只需要某种方法就可以知道是否存在裁剪,如果有的话,它是谁?
int whichImageIsClipped(LinearLayout root) { ... }
Run Code Online (Sandbox Code Playgroud) 在我的Android项目中我有imageButton,点击它之后,它必须用imageView打开新的Activity,在我的新Activity中我必须只看到大型的ImageButton图像,我的图像大小是17mb,我的内存不足错误.但我的代码适用于尺寸较小的图像.有人可以帮助调整图像大小或更改一些位图选项或其他方式的建议吗?我是android的新手,抱歉英文不好:)
这是我的新Activity的XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/LL11"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Here must be an image">
</TextView>
<ImageView
android:id="@+id/imageView1"
android:maxWidth="10px"
android:maxHeight="10px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ic_action_search" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
和java代码
package com.example.example;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.ImageView;
package com.example.example;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.ImageView;
public class ActivityTwo extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_dialog);
Bundle extras = getIntent().getExtras();
String path = extras.getString("path");
if(null != path)
{
Uri …Run Code Online (Sandbox Code Playgroud) 为视图创建动画..来自developer.android.com:
ImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage);
Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);
spaceshipImage.startAnimation(hyperspaceJumpAnimation);
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以扩展ImageView所以我创建的每个MyImageView在点击时都会有动画.
我还应该在MyImageView类之外为每个MyImageView设置一个不同的OnClickListener.
那可能吗?
我有Imageview和互联网上图片的链接.我把这张照片设置为像这样的ImageView,
public ImageView iv;
iv = (ImageView) findViewById(R.id.imageView);
String img = "https://www.google.com/images/srpr/logo11w.png";
iv.setImageDrawable(Drawable.createFromPath(img));
Run Code Online (Sandbox Code Playgroud)
我想要做的是从互联网上下载一张图片到我的Android应用程序并将其应用到ImageView.我想让它变得尽可能简单.
帮助过我
String img_url= //url of the image
URL url=new URL(img_url);
Bitmap bmp;
bmp=BitmapFactory.decodeStream(url.openConnection().getInputStream());
ImageView iv=(ImageView)findviewById(R.id.imageview);
iv.setImageBitmap(bmp);
Run Code Online (Sandbox Code Playgroud) 我正在设计一个Android XML布局,其中包含一些表示复选标记和红色X图像的ImageView.我遇到了一些问题,这些图像在显示到屏幕时包含额外的边距/填充.

请注意,似乎没有右边距或左边距/填充,但有足够的顶部/底部填充.
这些图像是PNG格式,遵循http://developer.android.com/design/style/iconography.html中描述的创建小/上下文图标的准则.
我想通过使边距/填充匹配其水平边距/填充的效果来纠正问题.
这是布局的XML:
<!-- Event Reoccuring -->
<LinearLayout
android:id="@+id/event_reoccur_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="5dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
>
<TextView
android:id="@+id/kid_event_reoccur_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:layout_gravity="center_vertical"
android:text="@string/event_reoccur"
/>
<ImageView
android:id="@+id/kid_event_reoccur_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:layout_gravity="center_vertical"
android:contentDescription="@string/indicator"
/>
<TextView
android:id="@+id/kid_event_reoccur"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:layout_gravity="center_vertical"
android:paddingLeft="4dp"
android:text="@string/not_applicable"
/>
</LinearLayout>
<!-- Age Required -->
<LinearLayout
android:id="@+id/event_age_req_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="16dp"
android:paddingRight="16dp"
>
<TextView
android:id="@+id/kid_event_age_req_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:layout_gravity="center_vertical"
android:text="@string/event_age_req"
/>
<ImageView
android:id="@+id/kid_event_age_req_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:gravity="center_vertical"
android:contentDescription="@string/indicator"
/>
<TextView
android:id="@+id/kid_event_age_req"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.4" …Run Code Online (Sandbox Code Playgroud) 尝试使用RoundedDrawable类(从https://github.com/vinc3m1/RoundedImageView获取)插入并映像到Rounded图像.
图像来自URL.如果我使用Koushik dutta的ION库作为图像加载部分,我会收到以下错误:
09-27 21:35:06.187: E/AndroidRuntime(12606): FATAL EXCEPTION: main
09-27 21:35:06.187: E/AndroidRuntime(12606): Process: com.ylg.maps, PID: 12606
09-27 21:35:06.187: E/AndroidRuntime(12606): java.lang.ClassCastException: com.koushikdutta.ion.IonDrawable cannot be cast to android.graphics.drawable.BitmapDrawable
09-27 21:35:06.187: E/AndroidRuntime(12606): at com.ylg.otherlibs.RoudImageViewForMap.loadBitmap(RoudImageViewForMap.java:70)
09-27 21:35:06.187: E/AndroidRuntime(12606): at com.ylg.otherslibs.RoudImageViewForMap.onDraw(RoudImageViewForMap.java:80)
09-27 21:35:06.187: E/AndroidRuntime(12606): at android.view.View.draw(View.java:14465)
09-27 21:35:06.187: E/AndroidRuntime(12606): at android.view.View.draw(View.java:14350)
09-27 21:35:06.187: E/AndroidRuntime(12606): at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
09-27 21:35:06.187: E/AndroidRuntime(12606): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
09-27 21:35:06.187: E/AndroidRuntime(12606): at android.view.View.buildDrawingCache(View.java:13673)
09-27 21:35:06.187: E/AndroidRuntime(12606): at android.view.View.buildDrawingCache(View.java:13522)
09-27 21:35:06.187: E/AndroidRuntime(12606): at com.ylg.maps.Mapsthree.createDrawableFromView(Mapsthree.java:454)
09-27 21:35:06.187: E/AndroidRuntime(12606): at com.ylg.maps.Mapsthree.loadFriends(Mapsthree.java:417)
09-27 21:35:06.187: …Run Code Online (Sandbox Code Playgroud) 我对图像gridView有问题。我将所有图像放置在一个数组中,但是当显示网格时,图像的排列顺序不符合我的决定。这是我的代码,摘自各种教程。
主要活动:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Clicca sull'immagine per ingrandire"
android:id="@+id/textView2"
android:layout_gravity="center_horizontal"
android:textAlignment="center"
android:paddingBottom="10sp"
android:textColor="@color/white"
android:textSize="@dimen/text_size"/>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:columnWidth="300dp"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:gravity="center"
android:stretchMode="columnWidth" >
</GridView>
Run Code Online (Sandbox Code Playgroud)
相关的Java代码:
package ...;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
public class extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_);
GridView gridView = (GridView) findViewById(R.id.grid_view);
// Instance of ImageAdapter Class
gridView.setAdapter(new ImageAdapter(this));
/**
* On Click event for Single …Run Code Online (Sandbox Code Playgroud) 我有一个简单的ImageView包装在FrameLayout中,以给它一个涟漪效果:
<FrameLayout
android:id="@+id/container"
android:layout_width="250dp"
android:layout_height="250dp"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/image_view"
android:layout_width="250dp"
android:layout_height="250dp"
android:src="@drawable/image"/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
这非常适合添加涟漪效果.然而,当我向ImageView添加onClick侦听器时,纹波效果不再起作用,考虑到涟漪效应是可以选择/单击的元素,这很奇怪!
ImageView imageView = (ImageView)findViewById(R.id.image_view);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Logic.
}
});
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何保持onClick和涟漪?
我Viewholder在我的RecyclerView适配器中使用了一个,我正在动态创建ImageViews.但是,当我向下滚动并向上滚动时,新图像会显示在之前的图像之上.我知道这是回收的概念,但我如何重置/清除Viewholder/布局,以便旧的ImageViews不会出现在每个回收的视图上?
public class RallyAdapter extends RecyclerView.Adapter<RallyAdapter.ViewHolder> {
public static class ViewHolder extends RecyclerView.ViewHolder{
public TextView nameTextView;
public TextView dateTextView;
public TextView creatorTextView;
public ImageButton thumbnail;
public RelativeLayout relativeLayout;
public ViewHolder(View itemView) {
super(itemView);
relativeLayout = (RelativeLayout) itemView.findViewById(R.id.view);
nameTextView = (TextView) itemView.findViewById(R.id.name);
dateTextView = (TextView) itemView.findViewById(R.id.date);
thumbnail = (ImageButton) itemView.findViewById(R.id.imageButton);
creatorTextView = (TextView) itemView.findViewById(R.id.creator_name);
}
}
private ArrayList<Rally> mRallys;
private Context mContext;
public RallyAdapter(Context context, ArrayList<Rally> rallys) {
this.mRallys = rallys;
this.mContext = …Run Code Online (Sandbox Code Playgroud)