-
动态输入时间和日期,相关监听器
查看全部 -
知识要点及注意事项
查看全部 -
查看全部
-
2、减少视图层级<merge />
<merge/>标签在UI的结构优化中起着非常重要的作用,它可以删减多余的层级,优化UI。<merge/>多用于替换FrameLayout或者当一个布局包含另一个时,<merge/>标签消除视图层次结构中多余的视图组。例如你的主布局文件是垂直布局,引入了一个垂直布局的include,这是如果include布局使用的LinearLayout就没意义了,使用的话反而减慢你的UI表现。这时可以使用<merge/>标签优化。
<merge xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/add"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/delete"/> </merge>
现在,当你添加该布局文件时(使用<include />标签),系统忽略<merge />节点并且直接添加两个Button。
查看全部 -
监听器是程序和用户/系统之间的桥梁
适配器是数据和视图之间的桥梁
intent(意图)是Android各组件(activity)之间通讯的桥梁
查看全部 -
SimpleAdapter()的五个参数内容
查看全部 -
静态Activity->Fragment
Main4Activity.java
FragmentManager fragmentManager = getFragmentManager(); Fragment fragmentById = fragmentManager.findFragmentById(R.id.frag); MyFragment frag = (MyFragment) fragmentById; frag.setAaa("fragment静态传值");
MyFragment.java
public class MyFragment extends Fragment { private String aaa; public void setAaa(String aaa) { this.aaa = aaa; } public String getAaa() { return aaa; } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { //layout布局文件转换成View对象 /** * resource:Fragment需要加载的布局文件 * root:加载layout的父ViewGroup * attachToRoot:false,不返回父ViewGroup */ View view = inflater.inflate(R.layout.fragment, container, false); TextView text = (TextView) view.findViewById(R.id.text); text.setText("静态加载Fragment"); Button button = (Button) view.findViewById(R.id.button); button.setText("获取内容"); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String value = getAaa(); Toast.makeText(getActivity(), "value="+value, Toast.LENGTH_SHORT).show(); } }); return view; } }
查看全部 -
private String code = "Thank you, Activity!"; public MyListener listener; public interface MyListener { public void thank(String code); } @Override public void onAttach(Activity activity) { listener = (MyListener) activity; super.onAttach(activity); }
Toast.makeText(getActivity(), "向Activity发送"+code, Toast.LENGTH_SHORT).show(); listener.thank(code);
Main4Activity.java
@Override public void thank(String code) { Toast.makeText(this, "已成功接收到"+code+",客气了!", Toast.LENGTH_SHORT).show(); }
查看全部 -
Main4Activity.java
send.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String text = editText.getText().toString(); MyFragment5 fragment5 = new MyFragment5(); Bundle bundle = new Bundle(); bundle.putString("name",text); fragment5.setArguments(bundle); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction beginTransaction = fragmentManager.beginTransaction(); beginTransaction.add(R.id.layout,fragment5,"fragment5"); beginTransaction.commit(); Toast.makeText(Main4Activity.this, "向Fragment发送数据"+text, Toast.LENGTH_SHORT).show(); } });
Fragment5.java
@Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment2, container, false); TextView tv = (TextView) view.findViewById(R.id.text); String text = getArguments().get("name") + ""; tv.setText(text); Toast.makeText(getActivity(), "已成功接收到"+text, Toast.LENGTH_SHORT).show(); return view; }
查看全部 -
使用arrayadapter加载listview
查看全部 -
Android常用布局
LinearLayout(线性布局)-->线性的 垂直的 水平的 RelativeLayout(相对布局)-->最灵活的 FrameLayout(帧布局)-->布局叠加时使用 TableLayout(表格布局)-->使用GridView代替 AbsoluteLayout(绝对布局)-->极少使用
查看全部 -
android manifest全局配置(包名和版本信息)
查看全部 -
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
访问网站链接
查看全部 -
静态导入 ViewFlipper 和java动态导入
查看全部 -
监听器是是程序与用户之间的桥梁查看全部
举报