在android studio中
我有3个按钮。我希望一个按钮处于活动状态几秒钟,其他两个按钮处于非活动状态,然后随机按钮应激活几秒钟。切换时间应逐渐减少。整个过程持续2分钟。活动按钮应该有一些特定的颜色。
我似乎没有得到逻辑。如果我得到了这个代码,我会很高兴。我有基本的布局! MainActivity是默认的! 感谢。
<?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:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.android.courtcounter.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:layout_marginTop="36dp"
android:id="@+id/Score"
tools:text="0"
android:minHeight="52dp"
android:minWidth="52dp"
android:textSize="36sp"
tools:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
tools:textAlignment="center" />
<Button
android:text="3 Point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="110dp"
android:id="@+id/button"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:elevation="14dp"
android:background="#ff0000"/>
<Button
android:text="2 Point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:layout_below="@+id/button"
android:layout_alignLeft="@+id/button"
android:layout_alignStart="@+id/button"
android:layout_marginTop="32dp" />
<Button
android:text="Free Throw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="27dp"
android:id="@+id/button3"
android:layout_below="@+id/button2"
android:layout_centerHorizontal="true" />
</RelativeLayout>
答案 0 :(得分:0)
首先,为了切换Button的可见性,您必须编写自己的“可见性管理器”,它可以通过setVisibility(View.Visible)和setVisibility(View)打开和关闭按钮。 GONE)。数据绑定是一种更好的方法,因为您不需要为此编写自己的逻辑。 其次,对于时间间隔使用rxJava库,它有生成sibgle事件(Observable.timer(..))和重复事件(Observable.interval())的方法。 这些事件在后台线程上运行,因此您最终使用.observeOn(AndroidSChedulers.mainThread())。 你应该使用这个库,因为它会更简单,而不是用Handler.postDelayed()方法发明轮子。 根据您的描述,您应该生成定期事件,例如,每秒钟和总时间。当该时间超过某个阈值时,您会采取一些措施。