-
動態輸入時間和日期,相關監聽器
查看全部 -
知識要點及注意事項
查看全部 -
查看全部
-
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動態導入
查看全部 -
監聽器是是程序與用戶之間的橋梁查看全部
舉報