我试图计算可变数量的像素到密度独立像素,反之亦然.
此公式(px to dp): dp = (int)(px / (displayMetrics.densityDpi / 160));不适用于小型设备,因为它除以零.
这是我的dp to px公式:
px = (int)(dp * (displayMetrics.densityDpi / 160));
Run Code Online (Sandbox Code Playgroud)
有人可以给我一些指示吗?
我在FloatingActionButtona Recyclerview中显示a CoordinatorLayout,当单击FAB时,将添加一行Recyclerview.现在问题是当我在API 15中测试时FAB有余量,但是当我在API 22(棒棒糖5.1.1-Nexus 4)中测试时,我没有得到任何余量并且FAB被按到屏幕的边缘.
我担心的是FAB在API 15中有默认的边距设置(没有测试其他设备)但在API 22中没有,或者我错过了什么.
我的布局代码:
<android.support.design.widget.CoordinatorLayout 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="#6fbababa"
android:fitsSystemWindows="true">
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:paddingBottom="@dimen/fab_padding_bottom"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:orientation="horizontal"
app:layout_scrollFlags="scroll|enterAlwaysCollapsed">
---------------------
---------------------
</LinearLayout>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/button_floating_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:src="@drawable/ic_plus"
app:borderWidth="0dp"
app:layout_anchor="@id/my_recycler_view"
app:layout_anchorGravity="bottom|right|end"
app:rippleColor="@color/wallet_highlighted_text_holo_light" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

android floating-action-button androiddesignsupport coordinator-layout android-coordinatorlayout
我有一个CoordinatroLayout带FloatingActionButton.这是我的代码:
<android.support.design.widget.CoordinatorLayout
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:layout_below="@+id/toolbar_layout"
android:layout_above="@+id/actionbar">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="120dp"
android:minHeight="?android:attr/actionBarSize"
android:background="@color/toolbar_color" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</ScrollView>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
app:fabSize="mini"
android:src="@mipmap/ic_action_edit"
app:layout_anchor="@id/toolbar"
app:layout_anchorGravity="bottom|right|end"
app:backgroundTint="@color/toolbar_color" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
但它在棒棒糖和棒棒糖前装置中看起来有所不同.
棒糖:
其实我没有添加任何保证金.但FAB在棒棒糖前设备方面有优势.
我也在cheessesquare样本中看到过这个问题.它也显示出不同的边距.问题是什么?
android android-layout floating-action-button android-coordinatorlayout