میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

Drawable اختصاصی در اندروید

در این آموزش قصد داریم یک Drawable اختصاصی در اندروید پیاده سازی کنیم برای این کار پروژه جدید به نام com.vogella.android.drawables.custom ایجاد کرده و قالب آماده ی Empty Activity را برای توسعه ی پروژه ی خود انتخاب نمایید.
کلاس اختصاصی Drawable را به صورت زیر پیاده سازی نمایید.

 

package com.vogella.android.drawables.custom;
import
android.graphics.Bitmap;
import
android.graphics.BitmapShader;
import
android.graphics.Canvas;
import
android.graphics.ColorFilter;
import
android.graphics.Paint;
import
android.graphics.PixelFormat;
import
android.graphics.RectF;
import
android.graphics.Shader;
import
android.graphics.drawable.Drawable;
public class
MyRoundCornerDrawable extends Drawable {
private Paint paint;
public MyRoundCornerDrawable(Bitmap bitmap) {
BitmapShader shader;
shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP,
Shader.TileMode.CLAMP);
paint = new Paint();
paint.setAntiAlias(
true);
paint.setShader(shader);
}
@Override
public void draw(Canvas canvas) {
int height = getBounds().height();
int width = getBounds().width();
RectF rect = new RectF(
0.0f, 0.0f, width, height);
canvas.drawRoundRect(rect,
30, 30, paint);
}
@Override
public void setAlpha(int alpha) {
paint.setAlpha(alpha);
}
@Override
public void setColorFilter(ColorFilter cf) {
paint.setColorFilter(cf);

}
@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}
}

برای استفاده از این کلاس در متن پروژه، فایل layout خود را به صورت زیر ویرایش نمایید.

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:contentDescription="TODO" />
</RelativeLayout>

پیاده سازی کلاس MainActivity خود را به صورت زیر ویرایش نمایید. کد فرض را بر این می گذارد شما یک فایل bitmap به نام dog.png در پوشه ی drawable خود دارید.

package com.vogella.android.drawables.custom;
import
java.io.InputStream;
import
android.app.Activity;
import
android.graphics.Bitmap;
import
android.graphics.BitmapFactory;
import
android.os.Bundle;
import
android.view.Menu;
import
android.widget.ImageView;
public class
MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView button = (ImageView) findViewById(R.id.image);
InputStream resource = getResources().openRawResource(R.drawable.dog);
Bitmap bitmap = BitmapFactory.decodeStream(resource);
button.setBackground(new MyRoundCornerDrawable(bitmap));
}
}

 


امیدواریم آموزش Drawable اختصاصی در اندروید نیز برای شما مفید واقع شده باشد و ادامه آموزش برنامه نویسی اندروید رو دنبال کنید . برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.
ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟