如何将View从一个ViewGroup移动到另一个ViewGroup

时间:2016-04-07 12:00:55

标签: android android-layout

LinearLayout1中有LinearLayout2ButtonMainActivity。当我点击Button时,我希望它从LinearLayout1跳转到LinearLayout2。我怎么能这样做?

4 个答案:

答案 0 :(得分:0)

你可以这样做:

LinearLayout mLinearLayout1 = (LinearLayout)findViewById(R.id.linearlayout_1);
LinearLayout mLinearLayout2 = (LinearLayout)findViewById(R.id.linearlayout_1);  
Button button1 = (Button) findViewById(R.id.button1);

button1.setOnClickListener(new View.OnClickListener() {  
        @Override  
        public void onClick(View v) {  
         mLinearLayout1.setVisibility(View.GONE);  
         mLinearLayout2.setVisibility(View.VISIBLE);  

      }
    });

答案 1 :(得分:0)

由于我不被允许评论声誉较低,所以写我的输入作为答案。 请不要因为这个原因而拒绝投票。

不太清楚你想要什么以及为什么要写在描述中。

如果您希望在主活动上显示许多不同视图(而不是LinearLayouts)中的一个(可能取决于条件或状态引擎或基于时间的间隔),您可能可以使用 ViewFlipper

答案 2 :(得分:0)

非常感谢Mike M 我得到了答案:

public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button = (Button) findViewById(R.id.button);

   final LinearLayout mLinearLayout1 = (LinearLayout)findViewById(R.id.liner1);
    final LinearLayout mLinearLayout2 = (LinearLayout)findViewById(R.id.liner2);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mLinearLayout1.removeView(button);
            mLinearLayout2.addView(button);


                }
    });
}

}

答案 3 :(得分:-1)

您可以隐藏和显示其中一个,例如:

LinearLayout mLinearLayout1 = (LinearLayout) findViewById(R.id.linearlayout_1);
LinearLayout mLinearLayout2 = (LinearLayout) findViewById(R.id.linearlayout_1);

mLinearLayout1.setVisibility(View.GONE);
mLinearLayout2.setVisibility(View.VISIBLE);

但是如果你想隐藏一些具有不同行为的观点,我建议你使用片段。