美文网首页
Dialer应用修改通话界面

Dialer应用修改通话界面

作者: DD_Dog | 来源:发表于2022-06-21 19:47 被阅读0次

    通话界面的功能按钮无法显示,要使它显示出来

    1、通过AndroidStudio的Layout Inspector查看UI结构

    image.png

    通过该功能可以基本判断出它位于id为incall_ui_containerincall_pager里面

    2、开始跟踪代码

    1. incall_screen.xml.xml -->InCallActivity.java --> R.id.main
    2. transaction.add(R.id.main, inCallScreen.getInCallScreenFragment(), Tags.IN_CALL_SCREEN);
    3. InCallScreen接口,找到它的实现类-->InCallFragment.java
    4. layoutInflater.inflate(R.layout.frag_incall_voice, viewGroup, false)); -->找到布局文件 frag_incall_voice.xml
    5. frag_incall_voice.xml-->R.id.incall_pager 类型为LockableViewPager.java
    6. R.id.incall_pager被设置pager.setAdapter(adapter); 类型为InCallPagerAdapter.java
    7. getItem的实现return InCallButtonGridFragment.newInstance(position);
    8. 打开InCallButtonGridFragment
     71   @Override
     72   public View onCreateView(
     73       LayoutInflater inflater, @Nullable ViewGroup parent, @Nullable Bundle bundle) {
     74     View view = inflater.inflate(R.layout.incall_button_grid, parent, false);
     75 
     76     buttons[0] = ((CheckableLabeledButton) view.findViewById(R.id.incall_first_button));
     77     buttons[1] = ((CheckableLabeledButton) view.findViewById(R.id.incall_second_button));
     78     buttons[2] = ((CheckableLabeledButton) view.findViewById(R.id.incall_third_button));
     79     buttons[3] = ((CheckableLabeledButton) view.findViewById(R.id.incall_fourth_button));
     80     buttons[4] = ((CheckableLabeledButton) view.findViewById(R.id.incall_fifth_button));
     81     buttons[5] = ((CheckableLabeledButton) view.findViewById(R.id.incall_sixth_button));
     82 
     83     return view;
     84   }
    
    

    相关文章

      网友评论

          本文标题:Dialer应用修改通话界面

          本文链接:https://www.haomeiwen.com/subject/kevevrtx.html