好的,所以我有一个自定义窗口弹出并显示一个 xml 文件,在那个窗口上我希望将搜索栏放在那里,现在我有一个奇怪的问题,当我加载弹出窗口时,搜索栏是显示正确,但是当我触摸它们时,它们突然重新绘制到一个新位置(特别是它们在左下角以 90 度角重新绘制),如果我更改设备的方向,那么之后一切正常,它是很奇怪,我在下面发布代码,希望有人能对发生的事情有所了解^_^
从清单:
<activity
android:name="com.example.exampleProj.sliderPopupWindow"
android:label="@string/app_name"
android:theme="@style/myDialog"
>
<intent-filter>
<action android:name="com.example.exampleProj.sliderPopup" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
这是我要显示的 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">
<View android:id="@+id/fakeView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_centerInParent="true"/>
<SeekBar
android:id="@+id/SeekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@id/fakeView" />
<SeekBar
android:id="@+id/SeekBar2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/SeekBar1"
android:layout_below="@+id/SeekBar1" />
<SeekBar
android:id="@+id/SeekBar3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/SeekBar2"
android:layout_below="@+id/SeekBar2" />
</RelativeLayout>
这是我正在使用的java文件:
import android.app.Activity;
import android.os.Bundle;
import android.view.WindowManager;
import android.widget.SeekBar;
public class sliderPopupWindow extends Activity {
SeekBar bar1;
SeekBar bar2;
SeekBar bar3;
WindowManager.LayoutParams params;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
bar1 = (SeekBar) findViewById(R.id.SeekBar1);
bar2 = (SeekBar) findViewById(R.id.SeekBar2);
bar3 = (SeekBar) findViewById(R.id.SeekBar3);
setContentView(R.layout.sliderwindow);
params = getWindow().getAttributes();
params.height = 700;
params.width = 700;
getWindow().setAttributes(params);
}
}
还没有多少,相当裸露,但这是一个奇怪的问题,我希望有人能给我一些关于正在发生的事情的见解^_^
这里有一些截图来演示这个问题。第一张展示了第一次触摸其中一个条时会发生什么,第二张展示了我旋转设备后会发生什么。旋转后,它看起来/工作正常(如果我将其旋转回来,则相同)但最初的触摸似乎垂直重绘了搜索栏