我使用对话框主题来显示我的活动
<activity
android:name=".MyDialog"
android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar" >
</activity>
此活动中的搜索栏。
alphaSeek=(SeekBar)findViewById(R.id.seekbar_alpha);
alphaSeek.setOnSeekBarChangeListener(this);
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
???=progress;
}
我可以使用搜索栏值来更改对话框背景的颜色吗?
更新
基于第一个答案,我重写了程序,评论的行是我尝试过的先前版本。但新版本与之前的版本完全相同,它只改变对话框内的颜色,而不是对话框的背景。
int alpha=0;
int red=0;
int green=0;
int blue=0;
SeekBar alphaSeek;
LinearLayout myActivityLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mydialog);
myActivityLayout = (LinearLayout) findViewById(R.id.MyActivityLayout);
alphaSeek=(SeekBar)findViewById(R.id.seekbar);
alphaSeek.setOnSeekBarChangeListener(this);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
String hex = String.format("%02x%02x%02x%02x", alpha, red, green, blue);
int color=(int)Long.parseLong(hex,16);
//ColorDrawable cd=new ColorDrawable(color);
//getWindow().setBackgroundDrawable(cd);
myActivityLayout.setBackgroundColor(color);
}
布局xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/MyActivityLayout"
tools:context="com.MyDialog">
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="255"
android:id="@+id/seekbar"
android:layout_gravity="center_horizontal" />
</LinearLayout>
的AndroidManifest.xml
<activity
android:name=".MyDialog"
android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar" >
</activity>
答案 0 :(得分:0)
当SeekBarChange时,onProgressChanged()
的{{1}}将被调用,屏幕的背景(OnSeekBarChangeListener
)将根据值(LinearLayout
)进行更新。
您可以执行以下操作:
SeekBar.getProgress()