Android 如何将视图从一个视图组移动到另一个视图组
我在Android 如何将视图从一个视图组移动到另一个视图组,android,android-layout,Android,Android Layout,我在main活动中有LinearLayout1、LinearLayout2和按钮。单击按钮时,我希望它从LinearLayout1跳到LinearLayout2。我如何才能做到这一点?您可以隐藏和显示其中一个,例如: LinearLayout mLinearLayout1 = (LinearLayout) findViewById(R.id.linearlayout_1); LinearLayout mLinearLayout2 = (LinearLayout) findViewById(R.i
main活动中有LinearLayout1
、LinearLayout2
和按钮
。单击按钮时,我希望它从LinearLayout1
跳到LinearLayout2
。我如何才能做到这一点?您可以隐藏和显示其中一个,例如:
LinearLayout mLinearLayout1 = (LinearLayout) findViewById(R.id.linearlayout_1);
LinearLayout mLinearLayout2 = (LinearLayout) findViewById(R.id.linearlayout_1);
mLinearLayout1.setVisibility(View.GONE);
mLinearLayout2.setVisibility(View.VISIBLE);
但是,如果您想显示隐藏具有不同行为的某些视图,我建议您使用片段。您可以这样做:
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);
}
});
因为我不允许评论名声不好的人,所以写下我的意见作为答案请不要因为这个原因而投反对票。
不太清楚您想要什么以及为什么想要描述中所写的内容
如果您希望在主活动上显示多个不同视图(非线性布局)中的一个(可能取决于条件、状态引擎或基于时间的间隔),您可能可以使用ViewFlipper,这要感谢大家,特别是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);
}
});
}
}如果该布局中有其他元素,该怎么办?我希望它只发生在特定的臀部,去掉removeView()
和addView()
方法的ViewGroup
,其中LinearLayout
是一个子类。