为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第1季)

难度入门
时长 5小时 0分
学习人数
综合评分9.43
320人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.1 逻辑清晰
  • 动态输入时间和日期,相关监听器

    查看全部
    0 采集 收起 来源:课程内容概述

    2018-04-02

  • 知识要点及注意事项

    查看全部
    0 采集 收起 来源:总结

    2018-04-02

  • 查看全部
  • 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()的五个参数内容

    查看全部
    0 采集 收起 来源:使用SimpleAdapter

    2018-04-02

  • 静态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

    查看全部
    0 采集 收起 来源:使用ArrayAdapter

    2018-03-29

  • Android常用布局

    LinearLayout(线性布局)-->线性的 垂直的 水平的 RelativeLayout(相对布局)-->最灵活的 FrameLayout(帧布局)-->布局叠加时使用 TableLayout(表格布局)-->使用GridView代替 AbsoluteLayout(绝对布局)-->极少使用

    查看全部
    0 采集 收起 来源:推荐使用布局

    2018-03-29

  • android manifest全局配置(包名和版本信息)

    查看全部
    0 采集 收起 来源:全局信息配置

    2018-03-28

  • Uri uri = Uri.parse(url);

    Intent intent = new Intent(Intent.ACTION_VIEW, uri);

    startActivity(intent);

    访问网站链接

    查看全部
    0 采集 收起 来源:WebView概述

    2018-03-26

  • 静态导入 ViewFlipper 和java动态导入

    查看全部
  • 监听器是是程序与用户之间的桥梁
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Android开发课程进阶部分的第1季,将讲解各种高级控件的使用,对于不熟悉Android开发的童鞋来说会有一定的难度,所以,建议在学习本门课程之前: 1、熟练掌握Java基础语法和面向对象编程 2、熟悉Android开发环境 3、熟练使用Button、ImageView等基础控件
老师告诉你能学到什么?
1、Android高级控件的应用场景 2、Android高级控件的使用方法 3、熟悉Android常用高级控件

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!