android - Characters appear in the order as i click -
for example. there picture on top of screen below there empty boxes , below boxes there buttons. every button has character text("a","c","t"). click on button , button's text appear in box. can click them in order want answer "cat" when put characters in correct order got toast.
i tried textviews , buttons. can make button disappear when click on , textview appear in same time. every textview has fix place on screen, need put every character in every box invisible , when click on "c" character appear in first box , other "c" characters stay invisible. if click on "a" first, appears in second box because there variation all. i'm not @ explaining if has idea how easier please response!
here code:
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" />
/// second
<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" />
you might want try different approach.
if understand correctly, want "type" word out using given lettered buttons. 1 of hangman style games.
why not append text views on fly.
something like
@override public void onclick(view v) { //grab surrounding layout textviews gridview answergrid = (gridview)getviewbyid(r.id.answergrid); //get text on button button b = (button)v; string btntext = b.gettext().tostring(); //make text view text textview txt = new textview(); text.settext(btntext); //append text view container answergrid.addview(txt); //invisible button b.setvisibility(view.invisible); }
haven't tested see if perfect, start.
=====
i've looked @ xml
why not use gridviews?
<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. answers --> </gridview> <gridview android:id="@+id/lettersgrid" android:layout_below="answergrid" ....> <!-- buttons in here --> </gridview> </relativelayout>
this way can customise number of rows/columns based on length of word you're playing with. , gridview automatically give neat layout , spacing.
have @ gridview doc , customised way want it.
see edits above java code.
Comments
Post a Comment