원형 이미지가 있습니다.이 원형 이미지는 선형 레이아웃 안에 있습니다. linearlayout이 원형이되기를 원하지만, 어떻게 linearlayout을 원형으로 만들 수 있습니까? 회귀 공간을 취하지 않고 원형 공간을 사용합니까?원형 선형 레이아웃 android
이 나를 위해 매우 중요하다, 원인뿐만 아니라
원형 이미지가 있습니다.이 원형 이미지는 선형 레이아웃 안에 있습니다. linearlayout이 원형이되기를 원하지만, 어떻게 linearlayout을 원형으로 만들 수 있습니까? 회귀 공간을 취하지 않고 원형 공간을 사용합니까?원형 선형 레이아웃 android
이 나를 위해 매우 중요하다, 원인뿐만 아니라
당신은 이미지 뷰에서 사용하는 원형 비트 맵을 만들 수있는 LinearLayout 인 옆에 묶여 원형 이미지 sthg에 원형 image..and와 sthg을 개발하고 이미지 주위에 흰색 선을 사용합니다.
그러면 RelativeLayout을 사용하여 이미지를 왼쪽의 다른 ui 요소에 놓을 수 있습니다.
http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/ 그것은 로맹 가이 (구글의 전 안드로이드 팀)에 의해 기록됩니다
는이 기능에 대한 매우 흥미로운 게시물이 있습니다.
다음과 같이 사용할 수 있습니다. 이 예제는 흰색 선이있는 원형 비트 맵을 만듭니다. 검은 선으로 흰색 선을 추가하여이를 변경할 수 있습니다.
public class CircleDrawable extends Drawable {
private final BitmapShader mBitmapShader;
private final Paint mPaint;
private Paint mWhitePaint;
int circleCenterX;
int circleCenterY;
int mRadus;
private boolean mUseStroke = false;
private int mStrokePadding = 0;
public CircleDrawable(Bitmap bitmap) {
mBitmapShader = new BitmapShader(bitmap,
Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setShader(mBitmapShader);
}
public CircleDrawable(Bitmap bitmap, boolean mUseStroke) {
this(bitmap);
if (mUseStroke) {
this.mUseStroke = true;
mStrokePadding = 4;
mWhitePaint = new Paint();
mWhitePaint.setStyle(Paint.Style.FILL_AND_STROKE);
mWhitePaint.setStrokeWidth(0.75f);
mWhitePaint.setColor(Color.WHITE);
}
}
@Override
protected void onBoundsChange(Rect bounds) {
super.onBoundsChange(bounds);
circleCenterX = bounds.width()/2;
circleCenterY = bounds.height()/2;
if (bounds.width() >= bounds.height())
mRadus = bounds.width()/2;
else
mRadus = bounds.height()/2;
}
@Override
public void draw(Canvas canvas) {
if (mUseStroke) {
canvas.drawCircle(circleCenterX, circleCenterY, mRadus, mWhitePaint);
}
canvas.drawCircle(circleCenterX, circleCenterY, mRadus - mStrokePadding, mPaint);
}
@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}
@Override
public void setAlpha(int alpha) {
mPaint.setAlpha(alpha);
}
@Override
public void setColorFilter(ColorFilter cf) {
mPaint.setColorFilter(cf);
}
public boolean ismUseStroke() {
return mUseStroke;
}
public void setmUseStroke(boolean mUseStroke) {
this.mUseStroke = mUseStroke;
}
}
이 기능을 사용하려면
이미지
후 한 스냅 원형 선형 레이아웃이 현실적으로 가능하다 생각하지만, u는하고 싶은 것을 더 설명하지 않는다 , 그리고 다른 접근법 (그것들을 겹치는 것과 같은)이 효과가있을 수 있습니다. –
후 스냅 샷과
– Piyush의 원형 이미지 – NameSpace