gpt4 book ai didi

android - 字符按我点击的顺序出现

转载 作者:行者123 更新时间:2023-11-30 02:04:54 25 4
gpt4 key购买 nike

例如。下面的屏幕顶部有图片,有一些空框,框下方有一些按钮。每个按钮都有一个文本字符(“a”,“c”,“t”)。您单击一个按钮,按钮的文本出现在框中。你可以按你想要的顺序点击它们,但答案是“猫”,所以当你按正确的顺序放置字符时,你就会得到 toast 。

我试着用 TextViews 和 Buttons 来做。当我点击按钮时,我可以让按钮消失,同时出现一个 TextView 。但是每个 TextView 在屏幕上都有一个固定位置,所以我需要将每个框中的每个字符都隐藏起来,当我单击“c”字符时,它会出现在第一个框中,而其他“c”字符则保持不可见。但是如果我先点击“a”,它就会出现在第二个框中,因为变化太大,无法完成所有操作。我不擅长解释,但如果有人知道如何更轻松地做到这一点,请回复!

这是我的代码:

    public class MainActivity extends ActionBarActivity implements OnClickListener{

Button b1;
Button b2;
Button b3;

TextView tg1;
TextView tg2;
TextView tg3;

TextView to1;
TextView to2;
TextView to3;

TextView tl1;
TextView tl2;
TextView tl3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

b1 = (Button)findViewById(R.id.bg);
b1.setOnClickListener(this);
b2 = (Button)findViewById(R.id.bo);
b2.setOnClickListener(this);
b3 = (Button)findViewById(R.id.bl);
b3.setOnClickListener(this);

tg1 = (TextView)findViewById(R.id.tg1);
tg2 = (TextView)findViewById(R.id.tg2);
tg3 = (TextView)findViewById(R.id.tg3);

to1 = (TextView)findViewById(R.id.to1);
to2 = (TextView)findViewById(R.id.to2);
to3 = (TextView)findViewById(R.id.to3);

tl1 = (TextView)findViewById(R.id.tl1);
tl2 = (TextView)findViewById(R.id.tl2);
tl3 = (TextView)findViewById(R.id.tl3);

}

@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.bg:
b1.setVisibility(View.INVISIBLE);
tg1.setVisibility(View.VISIBLE);
tg2.setVisibility(View.INVISIBLE);
tg3.setVisibility(View.INVISIBLE);
break;
case R.id.bo:
b2.setVisibility(View.INVISIBLE);
to2.setVisibility(View.VISIBLE);
to1.setVisibility(View.INVISIBLE);
to3.setVisibility(View.INVISIBLE);

break;
case R.id.bl:
b3.setVisibility(View.INVISIBLE);
tl3.setVisibility(View.VISIBLE);
tl2.setVisibility(View.INVISIBLE);
tl1.setVisibility(View.INVISIBLE);
}
}

    <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"
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="hu.szada.gombokelso.MainActivity"
android:orientation="horizontal">

<TextView
android:id="@+id/tl1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="invisible"
android:text="l"/>

<Button
android:id="@+id/bo"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="86dp"
android:onClick="onClick"
android:text="o" />

<Button
android:id="@+id/bl"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignBaseline="@+id/bg"
android:layout_alignBottom="@+id/bg"
android:layout_alignParentLeft="true"
android:layout_marginLeft="36dp"
android:onClick="onClick"
android:text="l" />

<Button
android:id="@+id/bg"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:layout_marginRight="14dp"
android:layout_toLeftOf="@+id/bo"
android:onClick="onClick"
android:text="g" />

<TextView
android:id="@+id/tg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tl"
android:layout_alignBottom="@+id/tl"
android:layout_alignLeft="@+id/tl"
android:layout_weight="1"
android:visibility="invisible"
android:text="g" />

<TextView
android:id="@+id/to1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tl"
android:layout_alignBottom="@+id/tl"
android:layout_alignLeft="@+id/tl"
android:layout_weight="1"
android:visibility="invisible"
android:text="o" />

///第二个

 <TextView
android:id="@+id/to2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tl1"
android:layout_alignBottom="@+id/tl1"
android:layout_marginLeft="19dp"
android:layout_toRightOf="@+id/tl1"
android:layout_weight="1"
android:visibility="invisible"
android:text="o" />

<TextView
android:id="@+id/tg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/to2"
android:layout_alignBottom="@+id/to2"
android:layout_alignLeft="@+id/to2"
android:layout_weight="1"
android:visibility="invisible"
android:text="g" />

<TextView
android:id="@+id/tl2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/to2"
android:layout_alignBottom="@+id/to2"
android:layout_alignRight="@+id/to2"
android:layout_weight="1"
android:visibility="invisible"
android:text="l" />

/// Third


<TextView
android:id="@+id/tg3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/to2"
android:layout_alignBottom="@+id/to2"
android:layout_alignRight="@+id/bl"
android:layout_weight="1"
android:visibility="invisible"
android:text="g" />

<TextView
android:id="@+id/tl3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tg3"
android:layout_alignBottom="@+id/tg3"
android:layout_alignLeft="@+id/tg3"
android:layout_weight="1"
android:visibility="invisible"
android:text="l" />

<TextView
android:id="@+id/to3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tg3"
android:layout_alignBottom="@+id/tg3"
android:layout_toRightOf="@+id/tl3"
android:layout_weight="1"
android:visibility="invisible"
android:text="o" />

最佳答案

您可能想尝试一种稍微不同的方法。

如果我没理解错的话,您想使用给定的字母按钮“键入”一个词。就像那些刽子手风格的游戏之一。

为什么不即时附加 TextView 。

有点像

@Override
public void onClick(View v) {

//Grab the surrounding layout for the textviews
GridView answerGrid = (GridView)getViewById(R.id.answerGrid);

//Get the text that was on the button
Button b = (Button)v;
String btnText = b.getText().toString();

//Make a text view with text
TextView txt = new TextView();
text.setText(btnText);

//Append to text view container
answerGrid.addView(txt);

//Invisible button
b.setVisibility(View.INVISIBLE);
}

尚未测试这是否完美,但这是一个开始。

=====

我看过你的xml

为什么不使用 GridView?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
....>
<GridView android:id="@+id/answerGrid"
....>
<!-- Put nothing here. This is for answers -->
</GridView>

<GridView android:id="@+id/lettersGrid"
android:layout_below="answerGrid"
....>
<!-- Buttons in here -->
</GridView>

</RelativeLayout>

这样您就可以根据您正在玩的单词的长度自定义行数/列数。 GridView 会自动给你一个整洁的布局和间距。

看看 GridView doc并按照您想要的方式进行定制。

请参阅上面我对 Java 代码的编辑。

关于android - 字符按我点击的顺序出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30831948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com