Java 改进通用SeekBar示例
此代码及其微小的变化存在于网络上的许多论坛中。当我在我的三星Galaxy Tab 2(Android 4.1.1)上启动它时,会出现一个条,拇指可以移动,位置报告,等等。所有这些都很好,除了拇指永远不会消失。我的显示为一个蓝色的小圆圈,我可以沿着一条线滑动,但它会在后面留下“拇指”的痕迹:在搜索栏范围内每个可能的整数位置都有一个 代码不完整吗?我们是否需要添加一些东西来手动重新绘制组件Java 改进通用SeekBar示例,java,android,seekbar,Java,Android,Seekbar,此代码及其微小的变化存在于网络上的许多论坛中。当我在我的三星Galaxy Tab 2(Android 4.1.1)上启动它时,会出现一个条,拇指可以移动,位置报告,等等。所有这些都很好,除了拇指永远不会消失。我的显示为一个蓝色的小圆圈,我可以沿着一条线滑动,但它会在后面留下“拇指”的痕迹:在搜索栏范围内每个可能的整数位置都有一个 代码不完整吗?我们是否需要添加一些东西来手动重新绘制组件 import android.app.Activity; import android.os.Bundle;
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>
效果截图:
更新在运行安卓2.2的中兴刀片上效果相同。当然,默认图形是不同的(灰色/橙色的seekbar带有一个更方形的“拇指”),但拇指在我滚动过的所有点上都保持在后面
如果我改变屏幕方向,剩余的垃圾就会清除,这让我觉得它只需要重新绘制。有人能帮忙吗?因此,我一行一行地复制并粘贴我的示例代码到一个新项目中,一边运行,希望找到失败的代码行 把整个东西都贴进去了,效果很好。seekbar中没有问题 在比较这些项目时,唯一的区别是AndroidManifest.XML文件包含以下行
android:theme="@style/FullscreenTheme"
在活动部分。所以,我回到我原来的(有缺陷的)项目,把这一行删掉。现在这个项目运作良好
我有我的答案:代码是完整的,我们不需要添加任何东西来重新绘制
我仍然不明白为什么这一行有这种效果,现在我有一个可怕的白色背景,当我想要黑色