ViewGroup之android:animateLayoutChanges属性
16lz
2021-01-23
/** * 该Demo了在XML中使用 * android:animateLayoutChanges属性,android:animateLayoutChanges=true * /false,所有派ViewGroup的子控件都具有此属性,能实现添加/删除其中控件时,带有默认动画了。 * * @description: * @author ldm * @date 2016-5-3 下午2:37:29 */public class DefaultLayoutAnimationActivity extends Activity { // 设置新增控件的文字 提示 private int numButtons = 1; // 控件装载容器 private GridLayout gridContainer; // 添加操作 private Button addButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_animations_by_default); initViews(); initEvents(); } private void initEvents() { addButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Button delBtn = new Button( DefaultLayoutAnimationActivity.this); delBtn.setText("第" + numButtons++ + "个"); //点击后则删除对应的Button delBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { gridContainer.removeView(v); } }); // 把新增的控件随机放在gridContainer中 gridContainer.addView(delBtn, (int) (Math.random() * gridContainer.getChildCount())); } }); } private void initViews() { gridContainer = (GridLayout) findViewById(R.id.grid_layout); addButton = (Button) findViewById(R.id.add_btn); }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/add_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="新增Button" /> <GridLayout android:id="@+id/grid_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:animateLayoutChanges="true" android:columnCount="4" /><!-- animateLayoutChasnges就能实现添加/删除其中控件时,带有默认动画 --></LinearLayout>
更多相关文章
- Android layout layout_weight属性理解
- 安卓常用属性
- [android]控件EditText常用属性
- 3.1如何编写程序界面&3.2常见控件使用方法
- Android 自定义属性 attr format取值类型