您好
我是 android 的新手。
我在android中有很多Buttons
视图,我想通过点击另一个按钮逐个显示它们。
答案 0 :(得分:2)
将按钮可见性设置为GONE(按钮将被完全“移除” - 按钮空间将可用于其他小部件)或INVISIBLE(按钮将变为“透明” - 其空间将为不适用于其他小部件):
View b = findViewById(R.id.button);
b.setVisibility(View.GONE);
或xml:
<Button ... android:visibility="gone"/>
参考:LINK
答案 1 :(得分:1)
使用android:visibility="visible"
或android:visibility="gone"
或android:visibility="invisible"
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="91dp"
android:layout_toLeftOf="@+id/textView1"
android:text="Button"
android:visibility="visible" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/button1"
android:layout_alignLeft="@+id/textView1"
android:text="Button"
android:visibility="invisible" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_toRightOf="@+id/button2"
android:text="Button"
android:visibility="invisible" />
答案 2 :(得分:1)
假设您有2个按钮:在xml中写下:使按钮2不可见,如下所示
<Button android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button 1"/>
<Button android:id="@+id/btn2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="button 2"
android:layout_below="@+id/btn1"
android:visibility="invisible"/>
在你的oncreate方法中写下这个:当你点击button1时,会出现button2。
Button btn1 = (Button)findViewById(R.id.btn1);
final Button btn2 = (Button)findViewById(R.id.btn2);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
btn2.setVisibility(View.VISIBLE);
}
});
答案 3 :(得分:1)
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="91dp"
android:layout_toLeftOf="@+id/textView1"
android:text="Button"
android:visibility="gone" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/button1"
android:layout_alignLeft="@+id/textView1"
android:text="Button"
android:visibility="gone" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_toRightOf="@+id/button2"
android:text="Button"
android:visibility="gone" />
现在,在点击事件的代码中,只需将这些按钮的可见性设置为 VISIBLE 。
更改可见性的步骤 HashMap map = new HashMap(); map.put(R.id.button1,new Integer [] {R.id.button2,R.id.button3,R.id.button4});
public void onClick(查看v){
Integer [] buttonsToShow = map.get(R.id.v.getId());
如果(buttonsToShow!= NULL) for(int button:buttonsToShow){
findViewById(按钮).setVisibility(View.VISIBLE);
} }
答案 4 :(得分:0)
我写了下面的代码并解决了我的问题。也许它对任何人都有用 next =(Button)findViewById(R.id.next); next.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v)
{
if(i<movie_list.length-3)
{
movie_list[i].setVisibility(View.GONE);
movie_list[i+3].setVisibility(View.VISIBLE);
i++;
}else{
Toast.makeText(getApplicationContext(), "That is the end of the buttons ", Toast.LENGTH_SHORT).show();
}
}
});