【发布时间】:2016-11-30 00:55:34
【问题描述】:
这是原始布局:http://prntscr.com/bxods5
它的 XML:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1"
>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="10">
<Button
android:id="@+id/editBtn"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_column="2"
android:layout_weight="2"
android:onClick="editEvent"
android:text="EDIT" />
<TextView
android:id="@+id/attendingEventInListviewRow"
android:layout_width="0dp"
android:layout_weight="6"
android:layout_height="wrap_content"
android:layout_column="38"
android:height="30sp"
android:tag="Events2goName"
android:text="Events2go"
android:textColor="#000000"
android:textSize="22sp"
android:textStyle="normal"
android:layout_gravity="right"
/>
<Button
android:id="@+id/cancel_arrive"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="36dp"
android:layout_column="37"
android:layout_gravity="right"
android:onClick="selectCancelArrive"
android:text="Nope" />
</TableRow>
</TableLayout>
问题是,并非所有用户都可以编辑,所以对于某些用户,“编辑”按钮会消失,如下所示:
if(resource==R.layout.attending_listview_row) {
eventName = (TextView) view.findViewById(R.id.attendingEventInListviewRow);
cancelArrive = (Button) view.findViewById(R.id.cancel_arrive);
editBtn=(Button)view.findViewById(R.id.editBtn);
editBtn.setVisibility(View.GONE);
}
if (myEvent != null) {
if (myEvent.getOwner()== LocalDataBase.getCurrentUser()) {
editBtn.setVisibility(View.VISIBLE);
}
我仍然希望“NOPE”按钮和 Events2Go 文本视图在它之后留在它们的位置,但实际发生的是:http://prntscr.com/bxoggo
让他们坚守岗位的最佳方式是什么?
编辑:
现在我知道问题在于“GONE”和“INVISIBLE”之间的区别。
【问题讨论】:
标签: java android button layout