View
visibility
について多くの質問がありました。私はすでに.GONEと.GONEの違いを知っています。 INVISIBLE
。私が知らないことは、それらを作るために適切なトグルを作る方法です。ボタンをクリックするたびにVISIBLE/.GONE
が表示されます。視界の切り替え
私が必要としているものは次のとおりです。linear layout
の中にbuttons
が入っています。私は最初の場所に隠されたbuttons
それらを必要とするので、私は行っとしてlinear layout
を設定します。
<LinearLayout
android:id="@+id/feelings_layout"
android:layout_below="@+id/feeling_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/happy_btn"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="46dp"
android:text="Happy"/>
<Button
android:id="@+id/sad_btn"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="46dp"
android:text="Sad"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/love_btn"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="46dp"
android:text="in love"/>
<Button
android:id="@+id/mad_btn"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="46dp"
android:text="mad"/>
</LinearLayout>
</LinearLayout>
は、その後、私はmake'em。
VISIBLE
ボタンをクリックすると再び
GONE
同じ
button
が押されている:
Button feelingsButton = (Button)contentView.findViewById(R.id.feeling_btn);
feelingsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "button clicked", Toast.LENGTH_LONG).show();
feelingsButtonsLayout = (LinearLayout)contentView.findViewById(R.id.feelings_layout);
if(feelingsButtonsLayout.getVisibility() == View.GONE){
Log.d("-----------", "gone");
feelingsButtonsLayout.setVisibility(View.VISIBLE);
}else{
Log.d("-----------", "not gone");
for (int i = 0; i < feelingsButtonsLayout.getChildCount(); i++){
View view = feelingsButtonsLayout.getChildAt(i);
view.setVisibility(View.GONE);
}
feelingsButtonsLayout.setVisibility(View.GONE);
}
}
});
すべてが正常に動作するようですが、私はそれがレイアウトVISIBLE
を作るために期待し、同じボタン3回目をクリックしたときに、それもかかわらず、再び表示されません私のlog
は、表示がgone
であると言います(Logcatのみを見ると、正常に動作しているようです)。
これに関するご意見はありますか?あなたは
第一クリックが=>あなたが目に見えるレイアウトを設定し、すべてのボタンため、2番目のクリックでGONE
に設定されたもう一度、すべてのボタンの可視性を設定する必要が
ありがとう、それは素晴らしい説明です。私はループを削除したばかりで、うまくいきました。私は問題を解決し、彼は最初にokに答えたので、私は受け入れられたものとして上記の答えをマークしますか?乾杯! – Rob
@rob最初に答えた時間を確認してください。説明と回答には時間がかかります。とにかく助けてくれるとうれしいです。 –
よろしくお願いします。私の悪い男! – Rob