TextView 에서 DrawableXXX 그림 의 크기 를 설정 할 수 없 는 솔 루 션
TextView textView = new TextView(mContext);
Drawable drawable = getResources().getDrawable(R.drawable.icon_friend);
//
drawable.setBounds(0, 0, 20, 20);
// , 、 、 、
textView.setCompoundDrawables(null, null, drawable, null);
물론 우 리 는 사용자 정의 View 로 이 효 과 를 실현 할 수 있 고 코드 도 매우 간단 하 다.
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import com.rzj.zhongshi.R;
public class DrawableTextView extends android.support.v7.widget.AppCompatTextView {
private Drawable drawableLeft = null, drawableTop = null, drawableRight = null,
drawableBottom = null;
private int drawableWidth, drawableHeight;
public DrawableTextView(Context context) {
this(context, null);
}
public DrawableTextView(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public DrawableTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.DrawableTextView);
int count = typedArray.getIndexCount();
for(int i = 0; i < count; i++){
int attr = typedArray.getIndex(i);
switch (attr){
case R.styleable.DrawableTextView_drawableRight:
drawableRight = typedArray.getDrawable(attr);
break;
case R.styleable.DrawableTextView_drawableLeft:
drawableLeft = typedArray.getDrawable(attr);
break;
case R.styleable.DrawableTextView_drawableTop:
drawableTop = typedArray.getDrawable(attr);
break;
case R.styleable.DrawableTextView_drawableBottom:
drawableBottom = typedArray.getDrawable(attr);
break;
case R.styleable.DrawableTextView_drawableWidth:
drawableWidth = typedArray.getDimensionPixelSize(attr, 0);
break;
case R.styleable.DrawableTextView_drawableHeight:
drawableHeight = typedArray.getDimensionPixelSize(attr,0);
break;
}
}
if(null != drawableLeft){
drawableLeft.setBounds(0,0, drawableWidth, drawableHeight);
}
if(null != drawableRight){
drawableRight.setBounds(0,0, drawableWidth, drawableHeight);
}
if(null != drawableTop){
drawableTop.setBounds(0,0, drawableWidth, drawableHeight);
}
if(null != drawableBottom){
drawableBottom.setBounds(0,0, drawableWidth, drawableHeight);
}
setCompoundDrawables(drawableLeft, drawableTop, drawableRight, drawableBottom);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.