1

此代码及其细微变化存在于网络上的许多论坛中。当我在三星 Galaxy Tab 2 (Android 4.1.1) 上启动它时,会出现条形图,可以移动拇指,报告位置等。一切都很好,除了拇指永远不会消失。我的显示为一个蓝色的小圆圈,我可以沿着条形滑动它,但它会在它后面留下“拇指”的痕迹:在搜索栏范围内的每个可能的整数位置上都有一个。

代码不完整吗?我们必须添加一些东西来手动重绘组件吗?

import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;

public class FullscreenActivity
    extends Activity
    implements SeekBar.OnSeekBarChangeListener {

    SeekBar seekBar;
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fullscreen);

        seekBar=(SeekBar)findViewById(R.id.seekbar);
        textView=(TextView)findViewById(R.id.textview);

        seekBar.setOnSeekBarChangeListener(this);
    }

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress,
            boolean fromUser) {
        //  Notify that the progress level has changed.
        textView.setText(textView.getText()+"\n"+"SeekBar now at the value of:"+progress);

    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        // placeholder
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        // placeholder
    }

}

这是布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FrameLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <SeekBar
        android:id="@+id/seekbar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="75dp"
        android:max="31"
        android:progress="15" />

    <TextView
        android:id="@+id/textview"
        android:layout_width="fill_parent"
        android:layout_height="270dp"
        android:layout_marginTop="150dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical" />

</FrameLayout>

效果截图:

效果截图

更新在运行 Android 2.2 的 ZTE-BLADE 上效果相同。当然,默认图形是不同的(灰色/橙色搜索栏,“拇指”更方形),但拇指在我滚动浏览的所有点上都保持在后面。

如果我改变屏幕方向,残留的垃圾就会清除,这让我觉得它只需要重绘。任何人都可以帮忙吗?

4

1 回答 1

0

因此,我将我的示例代码一行一行地复制并粘贴到一个新项目中,边走边运行,希望能找到失败的行。

把整个东西都粘贴进去了,效果很好。搜索栏没有问题。

在比较项目时,唯一的区别是 AndroidManifest.XML 文件包含以下行

    android:theme="@style/FullscreenTheme"

在活动部分。所以,我回到了我原来的(错误的)项目,把这条线去掉了。现在项目运行良好。

我有我的答案:代码是完整的,我们不需要添加任何东西来重绘它。

我仍然不明白为什么这条线会产生这种效果,现在当我想要黑色时,我有一个可怕的白色背景。

于 2013-06-03T21:39:08.793 回答