可以使用 Dialog 类,但我不希望这样。相反,我希望它通过使用 PopupWindow 类来完成,该类在启动时弹出并在弹出窗口上显示一些消息。我很无奈,只是花了很多天才能得到它。希望我能在这里得到它。拜托,谢谢。如果你没有得到我想要的东西,也请看下面的片段。
public class PopupActivity extends Activity implements OnClickListener {
LinearLayout ll = new LinearLayout(this);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(ll);
}
protected void onStart()
{
super.onStart();
final PopupWindow pw;
Button button = new Button(this);
button.setText("Hello");
pw = new PopupWindow(button, 245, 284, true);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
pw.dismiss();
}
});
pw.showAsDropDown(ll, 10, -50);
}
上面的代码给了我FORCE CLOSE:/帮助人..
答案 0 :(得分:2)
这是您可以显示弹出窗口的方式。
<强> main.xml中强>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical"
android:id="@+id/layoutTemp">
</LinearLayout>
<强> popup_layout.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="Test Pop-Up" />
</LinearLayout>
<强> main.java 强>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Handler().postDelayed(new Runnable() {
public void run() {
showPopup();
}
}, 100);
}
public void showPopup(){
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
PopupWindow pw = new PopupWindow(inflater.inflate(R.layout.popup_layout, null, false), 100, 100, true);
pw.showAtLocation(findViewById(R.id.layoutTemp), Gravity.CENTER, 0, 0);
}
这个想法是你的活动加载后会显示你的弹出窗口,否则会产生异常无法添加窗口 - 令牌null无效;你的活动在运行吗?。除非你在点击按钮上显示弹出窗口,这就是我在延迟100毫秒后显示它的原因(这几乎是不可察觉的)。