Android SeekBar旧进度未删除

时间:2017-04-10 19:31:11

标签: android android-seekbar

我的Android SeekBar存在问题,我按下条形图上的每个位置并且条形​​图移动到此位置但它不会移除旧位置,因此我会看到图像中看到的奇怪的重影效果。

Screen Capture from my device

有没有人见过这个?或知道它可能是什么?

我的布局文件如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/opt_back_button"
        android:text="@string/opt_back_button_text"/>

    <SeekBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/opt_test_seek_bar"
        android:layout_margin="10dp"
        android:max="100"
        android:progress="0"
        android:secondaryProgress="0"/>

</LinearLayout>

我的主要Java文件是

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.Toast;

public class OptionsMenuActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    // set the content view to the options menu
    setContentView(R.layout.options_menu);

    // get string from intent that started this activity
    Intent source_intent = getIntent();
    String message = source_intent.getStringExtra("games.longrun.toroidtussle.MESSAGE");

    // display the message as a toast
    Toast test_toast = Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT);
    test_toast.show();

    // initialise the listeners for this activity
    initialise_listeners();
}

    private void initialise_listeners()
    {
        // get reference to the seekbar
        SeekBar test_bar = (SeekBar)findViewById(R.id.opt_test_seek_bar);

        // set listener for seek bar events
        test_bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                int progress = seekBar.getProgress();

                Toast.makeText(OptionsMenuActivity.this, "Progress = " + progress, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

1 个答案:

答案 0 :(得分:0)

我偶然发现了这个问题。

我设置了一个包含行

的样式
<item name="android:windowBackground">@null</item>

我改为

<item name="android:windowBackground">@color/black_overlay</item>