如何在android studio中有效地显示正确的弹出窗口

时间:2016-04-05 02:05:04

标签: android android-studio popupwindow

背景故事:我正在制作一款非常简单的Rock paper剪刀应用程序。在应用程序中,您有3个按钮可选择摇滚,纸张或剪刀。

当你选择摇滚乐时,我有一个弹出窗口,上面写着“计算机播放你丢失的纸张”

问题是这个弹出消息需要是动态的。

我的目标是让计算机随机选择一个移动并确定在弹出窗口中显示的游戏结果。因此,例如,如果我选择摇滚并且计算机选择剪刀,弹出窗口将生成消息“计算机选择你赢得的剪刀!”这可能是你们所有人的基本要求,但我仍然熟悉android开发和android studio。

是否可以只有一个popupwindow.xml文件并传递值以显示正确的消息?就像“计算机游戏'计算机模拟'你'结果'!”

我该如何实现?下面是page2.java,其中只有一个按钮被编程为调用弹出窗口。我需要让它适用于所有三个按钮。我还包括popupwindow.xml和Pop.java,这是我调用popupwindow的类。

popupwindow.xml

render() {
  let initialListSize = 5

  if (this.state.shouldScrollToBottom) {
    initialListSize = 100000 // A random number that's going to be more rows than we're ever going to see in the list.
  }

  return (<ListView
            ref="listView"
            initialListSize={ initialListSize }
            otherProps...
            renderFooter={() => {
              return <View onLayout={(event)=>{

                if (this.state.shouldScrollToBottom) {
                  const listViewHeight = this.state.height._value
                  this.refs.listView.scrollTo({y: event.nativeEvent.layout.y - listViewHeight + 64}) // 64 for iOS to offset the nav bar height

                  this.setState({shouldScrollToBottom: false})
                }
              }}></View>
            }}
          />)
}

scrollToBottom() {
  self.setState({shouldScrollToBottom: true})
}

page2.java

module.exports = {

    /** Get user info by id */
    getId: function * getId (next) {

        // var user = { username: 'lucas', passowrd: 'lucas' };

        userMng.findById(this.params.id, (err, user) => {

            this.body = yield this.render('id', {
                title: 'Show detailes about item: ' + this.params.id,
                data: user
            });

        });

        yield next;
    }
}

Pop.java

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Computer played Paper you lose!"
    android:id="@+id/textView"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

所以我在想的是,在popupwindow.xml中,我可以硬编码计算机选择和游戏结果的所有可能结果,并在运行时只显示id的正确弹出窗口。似乎是错误的方式,但我认为这可行吗?

这是一种更有效的方法吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

听起来您可能想要使用<IfModule mod_rewrite.c> RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^([^\.]+\.(php|phtml))$ fcgi://127.0.0.1:9000/$1 [P,L] </IfModule> ,例如

AlertDialog