一、前言
昨天完成了加载页,星球页的设计,学习了Fragment实现底部导航栏。
今天将CardvIEw与传感器结合起来,实现了发布表可以跟随手机晃动。学习了Fragment的嵌套实现了我的页面上“我的发帖”与“我的回帖”的切换。遇到的困难:一些控件或者版本之间的冲突,通过查阅资料,修改包解决问题;Fragment没有很好的理解,导致在嵌套中出现了困难,通过查阅资料与重学Fragment实现嵌套,UI页面方面出现问题,不知如何具体下去。
明天对登录注册页面进行美化,以及学习头部标题栏的运用。
二、成果展示
三、代码
SendActivity.java
package com.example.myteamapplication.Activity;import androID.harDWare.Sensor;import androID.harDWare.SensorEvent;import androID.harDWare.SensorEventListener;import androID.harDWare.SensorManager;import androID.os.Bundle;import androID.vIEw.WindowManager;import androID.Widget.FrameLayout;import androIDx.appcompat.app.AppCompatActivity;import androIDx.cardvIEw.Widget.CardVIEw;import com.example.myteamapplication.R;public class SendActivity extends AppCompatActivity implements SensorEventListener { private SensorManager sensorManager; private Sensor defaultSensor; private CardVIEw cv; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //去掉顶部标题 getSupportActionbar().hIDe(); //去掉最上面时间、电量等 getwindow().setFlags(WindowManager.LayoutParams.FLAG_FulLSCREEN , WindowManager.LayoutParams.FLAG_FulLSCREEN); setContentVIEw(R.layout.activity_send); initVIEw(); sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);//获得传感器管理 defaultSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);//设置类型 } @OverrIDe protected voID onResume() { super.onResume(); sensorManager.registerListener(this, defaultSensor, SensorManager.SENSOR_DELAY_GAME);//注册传感器 } @OverrIDe protected voID onDestroy() { super.onDestroy(); sensorManager.unregisterListener(this);//注销传感器 } @OverrIDe public voID onSensorChanged(SensorEvent event) { changeLocation(event.values[1], event.values[2]); } @OverrIDe public voID onAccuracyChanged(Sensor sensor, int accuracy) { } private voID changeLocation(float y, float z) { FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) cv.getLayoutParams(); layoutParams.setmargins((int) z * 5, (int) y * 5, 0, 0);//乘2的作用是为了让效果明显点 cv.setLayoutParams(layoutParams); } private voID initVIEw() { cv = (CardVIEw) findVIEwByID(R.ID.cv); }}VIEw Code
activity_send.xml
<?xml version="1.0" enCoding="utf-8"?><FrameLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:app="http://schemas.androID.com/apk/res-auto" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:background="@drawable/bg"> <androIDx.cardvIEw.Widget.CardVIEw androID:ID="@+ID/cv" androID:layout_wIDth="300dp" androID:layout_height="400dp" androID:layout_gravity="center" app:cardCornerRadius="10dp" app:contentpadding="20dp" > <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:layout_margintop="15dp" androID:text="请选择您发布内容的类别:" /> <RadioGroup androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="40dp" androID:gravity="center"> <Radiobutton androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="吐槽"/> <Radiobutton androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="表白"/> <Radiobutton androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="交友"/> <Radiobutton androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="其他"/> </RadioGroup> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:text="请输入您要发布的内容:" androID:layout_margintop="75dp"/> <EditText androID:ID="@+ID/et_data_upass" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:layout_margintop="80dp" /> </androIDx.cardvIEw.Widget.CardVIEw> <com.Google.androID.material.floatingactionbutton.floatingActionbutton androID:ID="@+ID/fab" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_gravity="bottom|center" app:srcCompat="@androID:drawable/ic_input_add" androID:layout_marginBottom="50dp"/></FrameLayout>VIEw Code
Fragment_My.java
package com.example.myteamapplication.Fragment;import androID.content.Context;import androID.content.Intent;import androID.os.Bundle;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.Radiobutton;import androIDx.annotation.Nullable;import androIDx.fragment.app.Fragment;import androIDx.fragment.app.FragmentManager;import androIDx.fragment.app.FragmentTransaction;import com.example.myteamapplication.Activity.MainActivity;import com.example.myteamapplication.Activity.SendActivity;import com.example.myteamapplication.R;public class Fragment_My extends Fragment implements VIEw.OnClickListener { private FragmentTransaction transaction; private FragmentManager manager; private Radiobutton my_tab_send,my_tab_receive; private Context MainActivity; private LayoutInflater inflater;// @OverrIDe// public voID onActivityCreated(Bundle savedInstanceState) {// super.onActivityCreated(savedInstanceState);// MainActivity = getActivity();// inflater = LayoutInflater.from(getActivity());// } @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); manager = getChildFragmentManager(); transaction = manager.beginTransaction(); transaction.add(R.ID.fragment_container_my,new Fragment_My_send()); transaction.commit(); } @OverrIDe public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment VIEw rootVIEw = inflater.inflate(R.layout.fragment_my, container, false); my_tab_send = rootVIEw.findVIEwByID(R.ID.my_tab_send); my_tab_receive = rootVIEw.findVIEwByID(R.ID.my_tab_receive); my_tab_send.setonClickListener(this); my_tab_receive.setonClickListener(this); return rootVIEw; } @OverrIDe public voID onClick(VIEw v) { transaction = manager.beginTransaction(); switch (v.getID()){ case R.ID.my_tab_send: transaction.replace(R.ID.fragment_container_my,new Fragment_My_send()); break; case R.ID.my_tab_receive: transaction.replace(R.ID.fragment_container_my,new Fragment_My_receive()); break; } transaction.commit(); }}VIEw Code
fragment_my.xml
<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent"> <FrameLayout androID:ID="@+ID/fragment_container_my" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:layout_below="@+ID/ll" /> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:ID="@+ID/ll" androID:background="#dcdcdc" androID:orIEntation="vertical"> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:text="用户头像和ID和用户名"/> <RadioGroup androID:ID="@+ID/tabs_rg_my" androID:layout_wIDth="match_parent" androID:layout_height="56dp" androID:orIEntation="horizontal"> <Radiobutton androID:ID="@+ID/my_tab_send" androID:checked="true" androID:drawabletop="@drawable/tab_sign_selector" androID:text="我的发帖" /> <Radiobutton androID:ID="@+ID/my_tab_receive" androID:drawabletop="@drawable/tab_record_selector" androID:text="我的回帖" /> </RadioGroup> </linearLayout></relativeLayout>VIEw Code
四、今日团队链接
https://www.cnblogs.com/three3/p/12728120.html
总结以上是内存溢出为你收集整理的团队冲刺--第一阶段(二)全部内容,希望文章能够帮你解决团队冲刺--第一阶段(二)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)