android - 如何使 Canvas 闪烁且不变以自动旋转?

标签 android

我正在尝试为 Android 制作一个自定义 map 应用程序。我将 map 作为图像,我想将用户的位置显示为闪烁的矩形。这是我到目前为止编写的代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ImageView resultImageHolder = (ImageView) findViewById(R.id.test_image);
    layout = (FrameLayout) findViewById(R.id.frame_layout);
    draw();

 }

    private void draw() {
    int width = 200;
    int height = 200;

    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);
    bitmap.eraseColor(Color.TRANSPARENT);

    Paint paint = new Paint();
    paint.setColor(Color.BLUE);

    Canvas canvas = new Canvas(bitmap);

    canvas.drawRect(19, 11, 30, 19, paint);
    ImageView imageView = new ImageView(this);

    imageView.setImageBitmap(bitmap);

    layout.addView(imageView);

}

现在我需要使 Canvas 闪烁,并让 Canvas 保持在正确的位置,即使屏幕自动旋转也是如此。我怎样才能实现这两件事?

最佳答案

对于旋转,您可以通过将 android:screenOrientation="portrait" 放入 list 的 Activity 部分来禁用它。 对于眨眼,你可以有一个像这样的计时器:

Long timer = System.currentTimeMillis();

draw()
{
----
if(System.currentTimeMillis()>timer+100)
{
timer=System.currentTimeMillis();
    canvas.drawRect(19, 11, 30, 19, paint);
}

您可以将 100 更改为您认为合适的值。您遇到的另一个问题是您向我们展示的绘制仅被调用一次。

关于android - 如何使 Canvas 闪烁且不变以自动旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9947185/

相关文章:

android - 在 headless (headless)服务器上运行 android 模拟器

android - 如何在 AlertDialog 中设置正负按钮的顺序?

android - 确定通过麦克风接收到的声音的音频频率

android - 如何在不收费的情况下测试IAB

java - Android抛出空指针异常

Android - Intent.setType() 参数

java - 在带有文本和图像的 ListView 中使用 MatrixCursor 和 SimpleCursorAdapter

Android gradle-experimental 0.2.0 添加res和aidl

java - 不满足的链接错误: Android OpenCV

java - 将 TextField 与 LibGDX 结合使用