我正在开发一个Android应用程序,我使用的布局包含一个名为“invitation_single”的主要布局,两个子布局就是“hidden”和“hidden1”,当我在onclick主布局值已经消失这是完美的,之后我需要在那个地方看到两个子布局值,我尝试下面的代码,但子布局“隐藏”值单独显示,但我需要显示两个子布局值,如何完成。任何人都可以帮助我。
<LinearLayout 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:divider="?android:dividerVertical"
android:showDividers="middle"
android:dividerPadding="5dp"
android:id="@+id/invitation_single"
tools:context=".MainActivity" >
<ImageButton
android:id="@+id/image"
android:layout_width="@dimen/contact_image"
android:layout_height="50dp"
android:src="@drawable/ic_action_event" />
<TextView
android:id="@+id/invitation_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:paddingLeft="5dp"
android:paddingRight="0dp"
android:paddingTop="3dp"
android:textSize="18sp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/invitation_place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="15sp"
android:paddingLeft="5dp"
android:paddingRight="0dp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_weight="1"
android:clickable="false"
android:paddingTop="1dp"
android:visibility="gone"
android:focusable="true"
android:orientation="horizontal"
android:weightSum="3"
android:id="@+id/hidden"
>
<Button
android:id="@+id/yesbutton"
android:background="@color/blue"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:text="Yes"
android:layout_marginTop="50dp"
android:layout_weight="1"
android:layout_marginRight="30dp">
</Button>
<Button
android:id="@+id/nobutton"
android:background="@color/blue"
android:textColor="@color/black"
android:layout_width="62dp"
android:layout_height="wrap_content"
android:text="No"
android:layout_marginTop="50dp"
android:layout_weight="1"
android:layout_marginRight="30dp">
</Button>
<Button
android:id="@+id/buttonmaybe"
android:background="@color/blue"
android:textColor="@color/black"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="Maybe"
android:layout_marginTop="50dp"
android:layout_weight="1"
android:layout_marginRight="32dp">
</Button>
<LinearLayout
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:clickable="false"
android:focusable="true"
android:visibility="gone"
android:orientation="vertical"
android:id="@+id/hidden1"
>
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:paddingLeft="5dp"
android:paddingRight="0dp"
android:paddingTop="3dp"
android:textSize="18sp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="15sp"
android:paddingLeft="5dp"
android:paddingRight="0dp"
android:textStyle="bold"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
下面的代码是我的java代码,主要布局是“邀请单”,“隐藏”是我的第一个子布局,“hidden1”是第二个子布局,当iam onclick主要布局应该消失,子布局值需要可见,但当我点击主布局子布局“隐藏”单独可见,但我需要可见两个布局。
final LinearLayout first=(LinearLayout)convertView.findViewById(R.id.invitation_single);//main layout
final LinearLayout second = (LinearLayout)convertView.findViewById(R.id.hidden);//sub layout1
final LinearLayout third = (LinearLayout)convertView.findViewById(R.id.hidden1);//sub layout2
first.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int visibility = second.getVisibility();
int visibility1=third.getVisibility();
if (visibility == View.GONE)
third.setVisibility(View.VISIBLE);
second.setVisibility(View.VISIBLE);
}
});
答案 0 :(得分:0)
首先,布局XML的格式很混乱!
格式错误使成为您的合作
德强>
很难 TO rea d,这使得它成为
ffic ult找到
和修复强>哟乌尔虫子 !!!
干净地格式化您的xml,可以更轻松地查看您和我们正在发生的事情。
<LinearLayout 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:divider="?android:dividerVertical"
android:showDividers="middle"
android:dividerPadding="5dp"
android:id="@+id/invitation_single"
tools:context=".MainActivity" >
<ImageButton
android:id="@+id/image"
android:layout_width="@dimen/contact_image"
android:layout_height="50dp"
android:src="@drawable/ic_action_event"/>
<TextView
android:id="@+id/invitation_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:paddingLeft="5dp"
android:paddingRight="0dp"
android:paddingTop="3dp"
android:textSize="18sp"
android:textStyle="bold"/>
<TextView
android:id="@+id/invitation_place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="15sp"
android:paddingLeft="5dp"
android:paddingRight="0dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_weight="1"
android:clickable="false"
android:paddingTop="1dp"
android:visibility="gone"
android:focusable="true"
android:orientation="horizontal"
android:weightSum="3"
android:id="@+id/hidden">
<Button
android:id="@+id/yesbutton"
android:background="@color/blue"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:text="Yes"
android:layout_marginTop="50dp"
android:layout_weight="1"
android:layout_marginRight="30dp"/>
<Button
android:id="@+id/nobutton"
android:background="@color/blue"
android:textColor="@color/black"
android:layout_width="62dp"
android:layout_height="wrap_content"
android:text="No"
android:layout_marginTop="50dp"
android:layout_weight="1"
android:layout_marginRight="30dp"/>
<Button
android:id="@+id/buttonmaybe"
android:background="@color/blue"
android:textColor="@color/black"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="Maybe"
android:layout_marginTop="50dp"
android:layout_weight="1"
android:layout_marginRight="32dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:clickable="false"
android:focusable="true"
android:visibility="gone"
android:orientation="vertical"
android:id="@+id/hidden1">
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:paddingLeft="5dp"
android:paddingRight="0dp"
android:paddingTop="3dp"
android:textSize="18sp"
android:textStyle="bold"/>
<TextView
android:id="@+id/place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="15sp"
android:paddingLeft="5dp"
android:paddingRight="0dp"
android:textStyle="bold"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
布局细分
invitation_single
没有定义方向,因此默认为水平。 invitation_single
布局有4个直接子项。image
设置为固定宽度。invitation_title
和invitation_place
的宽度设置为wrap_content
。hidden
的LinearLayout。
match_parent
hidden1
的LinearLayout。
0dp
hidden1
将保留宽度为0dp,这意味着您将看不到它。 /强> 查看此博客Android, LinearLayout Distribution Explained (weight and sizes)中的示例,以便更好地了解layout_weight的工作原理。