You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
make BitmapDrawable functional
This commit is contained in:
@@ -19,7 +19,7 @@ package android.content.res;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.icu.text.PluralRules;
|
||||
// import android.graphics.Movie;
|
||||
// import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
// import android.graphics.drawable.ColorDrawable;
|
||||
// import android.graphics.drawable.Drawable.ConstantState;
|
||||
import android.os.Build;
|
||||
@@ -42,9 +42,6 @@ import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
class Movie {}
|
||||
class Drawable {
|
||||
class ConstantState {}
|
||||
}
|
||||
class ColorDrawable {}
|
||||
|
||||
class ConstantState {}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package android.content.res;
|
||||
|
||||
import android.content.pm.ActivityInfo;
|
||||
// import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
|
||||
@@ -2,7 +2,21 @@ package android.graphics.drawable;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.RectF;
|
||||
|
||||
public class BitmapDrawable extends Drawable {
|
||||
public BitmapDrawable(Resources res, Bitmap bitmap) {}
|
||||
|
||||
private Bitmap bitmap;
|
||||
|
||||
public BitmapDrawable(Resources res, Bitmap bitmap) {
|
||||
this.bitmap = bitmap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Canvas canvas) {
|
||||
canvas.drawBitmap(bitmap, new Rect(0, 0, bitmap.getWidth(), bitmap.getWidth()), new RectF(getBounds()), null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
package android.graphics.drawable;
|
||||
|
||||
public class Drawable {
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Rect;
|
||||
|
||||
public abstract class Drawable {
|
||||
|
||||
private Rect mBounds = new Rect();
|
||||
|
||||
public int getChangingConfigurations() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void setChangingConfigurations(int bitmap) {}
|
||||
|
||||
public ConstantState getConstantState() {
|
||||
return new ConstantState();
|
||||
}
|
||||
|
||||
public class ConstantState {
|
||||
|
||||
}
|
||||
|
||||
public void setBounds(int left, int top, int right, int bottom) {
|
||||
mBounds.set(left, top, right, bottom);
|
||||
}
|
||||
|
||||
public final Rect getBounds() {
|
||||
return mBounds;
|
||||
}
|
||||
|
||||
public abstract void draw(Canvas canvas);
|
||||
}
|
||||
|
||||
@@ -3,16 +3,22 @@ package android.widget;
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
public class ImageView extends View {
|
||||
|
||||
private Bitmap bitmap;
|
||||
|
||||
public ImageView(AttributeSet attrs) {
|
||||
super(attrs);
|
||||
|
||||
native_constructor(attrs);
|
||||
int resource = attrs.getAttributeResourceValue("http://schemas.android.com/apk/res/android", "src", 0);
|
||||
setImageResource(resource);
|
||||
if (resource != 0)
|
||||
setImageResource(resource);
|
||||
}
|
||||
|
||||
public ImageView(Context context) {
|
||||
@@ -34,13 +40,17 @@ public class ImageView extends View {
|
||||
public /*native*/ void setImageResource(final int resid) {
|
||||
if (Context.this_application.getResources().getString(resid).endsWith(".xml"))
|
||||
return;
|
||||
Bitmap bitmap = BitmapFactory.decodeResource(Context.this_application.getResources(), resid);
|
||||
bitmap = BitmapFactory.decodeResource(Context.this_application.getResources(), resid);
|
||||
native_setPixbuf(bitmap.pixbuf);
|
||||
}
|
||||
public void setAdjustViewBounds(boolean adjustViewBounds) {}
|
||||
|
||||
public void setScaleType(ScaleType scaleType) {}
|
||||
|
||||
public Drawable getDrawable() {
|
||||
return new BitmapDrawable(getContext().getResources(), bitmap);
|
||||
}
|
||||
|
||||
/**
|
||||
* Options for scaling the bounds of an image to the bounds of this view.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user