RelativeLayout Eclipse 上按钮的设置可见性问题
Posted
技术标签:
【中文标题】RelativeLayout Eclipse 上按钮的设置可见性问题【英文标题】:Problems with setvisibility for button on RelativeLayout Eclipse 【发布时间】:2015-09-25 22:34:48 【问题描述】:Hy....我正在 Eclipse 上做一个简单的项目。我正在使用如下所示的相对布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:gravity="center"
tools:context=".ProfileActivity"
>
<Button
android:id="@+id/Prof_edit_btn"
android:layout_below="@+id/Prof_LL"
android:layout_
android:layout_
android:text="Edit"
android:layout_marginTop="17dp"
android:layout_centerHorizontal="true"
/>
<LinearLayout
android:layout_below="@+id/Prof_LL"
android:layout_
android:layout_
android:orientation="horizontal"
android:layout_centerHorizontal="true"
>
<Button
android:id="@+id/Prof_save_btn"
android:layout_below="@+id/Prof_LL"
android:layout_
android:layout_
android:text="save"
android:layout_marginTop="17dp"
android:layout_centerHorizontal="true"
android:visibility="invisible"
android:clickable="false"
/>
<Button
android:id="@+id/Prof_batal_btn"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:text="Batal"
android:layout_marginTop="17dp"
android:visibility="invisible"
android:clickable="false"
/>
</LinearLayout>
</RelativeLayout>
在主要活动中,我为编辑和保存按钮制作了一个简单的 onClicklistener,如下所示:
mEdit = (Button)findViewById(R.id.Prof_edit_btn);
mEdit.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View arg0)
// TODO Auto-generated method stub
mBatal.setVisibility(View.VISIBLE);
mBatal.setClickable(true);
mSave.setVisibility(View.VISIBLE);
mSave.setClickable(true);
mEdit.setVisibility(View.INVISIBLE);
);
mSave = (Button)findViewById(R.id.Prof_save_btn);
mSave.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
// TODO Auto-generated method stub
mEdit.setVisibility(View.VISIBLE);
mBatal.setVisibility(View.INVISIBLE);
mSave.setVisibility(View.INVISIBLE);
Toast.makeText(getApplicationContext(), "Data Anda berhasil disimpan", Toast.LENGTH_SHORT).show();
);
嗯...正如我们从我的布局 xml 中看到的那样,开始时只有 EDIT 按钮可见,然后根据 EDIT 的 setonclick 侦听器中的代码程序,当用户单击 EDIT 时,将显示 SAVE 和 BATAL 按钮按钮。并且一旦单击 EDIT 按钮,它将不可见....这里的问题是当我单击 EDIT 按钮时,只有 SAVE 按钮可见,而当单击 SAVE 按钮时,BATAL 按钮将可见,这是我的另一个问题现在面临的是编辑按钮在我单击它时根本不可见....所以..任何人都可以帮助我解决这个问题...??? :'(
提前谢谢....
【问题讨论】:
mBatal 按钮在哪里找到 ID? 我还没有添加它... :-) 但是...该按钮将具有与 mSave 按钮几乎相同的 clicklistener... :-) 【参考方案1】:Naaah...我找到了自己的解决方案...只需将 SAVE btn 和 BATAL btn 的可见性设置为 GONE...就完成了... :-)
<Button
android:id="@+id/Prof_save_btn"
android:layout_below="@+id/Prof_LL"
android:layout_
android:layout_
android:text="save"
android:layout_marginTop="17dp"
android:layout_centerHorizontal="true"
android:visibility="gone"<-----------=
android:clickable="false"
/>
<Button
android:id="@+id/Prof_batal_btn"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:text="Batal"
android:layout_marginTop="17dp"
android:visibility="gone"<-----------=
android:clickable="false"
/>
【讨论】:
哦...是啊...我忘了删除那个...呵呵呵呵..谢谢haint... :-)以上是关于RelativeLayout Eclipse 上按钮的设置可见性问题的主要内容,如果未能解决你的问题,请参考以下文章
Android中RelativeLayout和LinearLayout性能分析