我在长按RecyclerView
元素后添加上下文操作栏。问题是工具栏仍然可见。上下文操作栏不会完全重叠。
尝试搜索信息,但没有找到或找到的信息很少。
我的工具栏:
添加上下文操作栏后:
如您所见,工具栏在底部仍然可见。
我正在使用的主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="windowActionModeOverlay">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我的工具栏:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar 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="wrap_content"
android:id="@+id/toolbar"
android:minHeight="?android:attr/actionBarSize"
android:background="#F7F8F9"
app:titleTextColor="@color/colorPrimaryDark" />
Run Code Online (Sandbox Code Playgroud)
驾驶室文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_upload"
android:title="Upload"
android:icon="@drawable/ic_file_upload_black_24dp"
app:showAsAction="always" />
<item
android:id="@+id/action_reboot"
android:title="Reboot"
android:icon="@drawable/ic_refresh_black_24dp"
app:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
这就是我启动上下文操作栏的方式:
startSupportActionMode(new android.support.v7.view.ActionMode.Callback() {
@Override
public boolean onCreateActionMode(android.support.v7.view.ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.cab, menu);
return true;
}
@Override
public boolean onPrepareActionMode(android.support.v7.view.ActionMode mode, Menu menu) {
return false;
}
@Override …
Run Code Online (Sandbox Code Playgroud) 我有这样的布局
pie_chart.xml
<?xml version="1.0" encoding="utf-8"?>
<com.github.mikephil.charting.charts.PieChart
android:layout_width="match_parent"
android:id="@+id/piechart"
android:layout_height="200dp"
android:background="#F00"
xmlns:android="http://schemas.android.com/apk/res/android" />
Run Code Online (Sandbox Code Playgroud)
我正在尝试将PieChart类型转换为View I inflated.我正在使用MPAndroidchart绘制图形.PieChart的父类扩展了VieGroup,所以我假设Cast上的Casting PieChart类型应该是正确的,但是这给了我一个错误.
导致问题的代码:
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_overview, container, false);
View pieView = View.inflate(AppContext.context, R.layout.pie_chart,(ViewGroup)view);
PieChart pieChart= (PieChart) pieView;
return view;
}
Run Code Online (Sandbox Code Playgroud)
logcat的:
java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to com.github.mikephil.charting.charts.PieChart
at com.teltonika.rms.fragment.OverviewFragment.onCreateView(OverviewFragment.java:31)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2184)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298)
at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1998)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:709)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native …
Run Code Online (Sandbox Code Playgroud)