相关疑难解决方法(0)

如何强制整个布局查看刷新?

我想强制主布局资源视图重绘/刷新,比如Activity.onResume()方法.我怎样才能做到这一点 ?

通过主布局视图,我的意思是在我的Activity.onCreate()中调用的那个('R.layout.mainscreen'),如下所示: -

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainscreen);
}
Run Code Online (Sandbox Code Playgroud)

layout android refresh

167
推荐指数
8
解决办法
36万
查看次数

Android:如何重绘图形元素?

我创建了一个扩展View的类RoundIcon,该类包含setIconImage()方法:

public void setIconImage(int imageFromResources) {
    iconImage = BitmapFactory.decodeResource(getResources(), imageFromResources);
    iconWidth = iconImage.getWidth();
    iconHeight = iconImage.getHeight();
    refreshDrawableState();
}
Run Code Online (Sandbox Code Playgroud)

并且有一个方法onDraw():

@Override
protected void onDraw(Canvas canvas) {

    if(px == 0 || py == 0)
    {
        px = 50;
        py = 50;
    }


    canvas.drawCircle(px, py, circleRadius, circlePaint);
    canvas.save();

    if(iconImage != null)
    {
        int cardinalX = px - iconWidth/2;
        int cardinalY = py - iconHeight/2;
        canvas.drawBitmap(iconImage, cardinalX, cardinalY, iconPaint);
    }

    canvas.restore();
}
Run Code Online (Sandbox Code Playgroud)

问题是每次从主活动调用方法setIconImage()时都不执行onDraw()函数,因此图标在用户界面中不会改变.

有没有人知道如何修改代码,以便每次调用方法setIconImage时重绘图像?

user-interface android refresh

17
推荐指数
2
解决办法
5万
查看次数

标签 统计

android ×2

refresh ×2

layout ×1

user-interface ×1