我正在开发一个使用图标和自定义循环视图的UI。根据文件https://developer.android.com/guide/practices/screens_support.html 我为hdpi,ldpi .... xxxhdpi创建了单独的可绘制文件夹。还创建了layout-sw660dp和layout-sw720dp。 Nexus 5x和谷歌nexus 10英寸平板电脑的图标缩放工作正常,但LG G3设备没有扩展。任何人都可以让我知道我做错了什么。以下是我的景观布局示例。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:id="@+id/topLayout"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:keepScreenOn="true">
<com.facedetection.kv.facedetection.ui.camera.CameraSourcePreview
android:id="@+id/preview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
>
<!--android:onClick="onClickOnSurfaceView" -->
<com.facedetection.kv.facedetection.ui.camera.GraphicOverlay
android:id="@+id/faceOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.facedetection.kv.facedetection.ui.camera.CameraSourcePreview>
<FrameLayout
android:id="@+id/controls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/preview"
android:layout_alignParentBottom="true">
<LinearLayout
android:layout_width="@dimen/custom_rounded_view_width"
android:layout_height="@dimen/custom_rounded_view_height"
android:orientation="vertical"
android:layout_alignParentRight="true"
android:layout_gravity="end"
>
<com.makeramen.roundedimageview.RoundedImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/savedImageView"
android:src="@drawable/hugh"
android:scaleType="centerCrop"
app:riv_border_width="5dip"
app:riv_border_color="#333333"
app:riv_mutate_background="true"
app:riv_oval="true"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="bottom|right"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cameraClick"
android:src="@drawable/ic_panorama_fish_eye_black_24dp"
android:contentDescription="@string/switch_camera"/>
</LinearLayout>
<LinearLayout
android:layout_width="@dimen/custom_circle_view_width"
android:layout_height="@dimen/custom_circle_view_height"
android:layout_gravity="left">
<com.facedetection.kv.facedetection.CustomView.CustomCircleView
android:id="@+id/leftEyeView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="@dimen/custom_circle_layout_margin"
android:layout_gravity="center"
custom:circleColor="@color/md_blue_A700"
custom:circleLabel=""
custom:labelColor="@color/md_black_1000"
custom:circleTextSize="@dimen/custom_circle_text_size"
/>
</LinearLayout>
<LinearLayout
android:layout_width="@dimen/custom_circle_view_width"
android:layout_height="@dimen/custom_circle_view_height"
>
<com.facedetection.kv.facedetection.CustomView.CustomCircleView
android:id="@+id/smileyView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="@dimen/custom_circle_layout_margin"
android:layout_gravity="center"
custom:circleColor="@color/md_blue_A700"
custom:circleLabel=""
custom:labelColor="@color/md_black_1000"
custom:circleTextSize="@dimen/custom_circle_text_size"
/>
</LinearLayout>
<LinearLayout
android:layout_width="@dimen/custom_circle_view_width"
android:layout_height="@dimen/custom_circle_view_height"
>
<com.facedetection.kv.facedetection.CustomView.CustomCircleView
android:id="@+id/rightEyeView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="@dimen/custom_circle_layout_margin"
android:layout_gravity="center"
custom:circleColor="@color/md_blue_A700"
custom:circleLabel=""
custom:labelColor="@color/md_black_1000"
custom:circleTextSize="@dimen/custom_circle_text_size"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cameraSwitch"
android:src="@drawable/ic_switch_camera_black_24dp"
android:contentDescription="@string/switch_camera"/>
</LinearLayout>
</LinearLayout>
</FrameLayout>
答案 0 :(得分:0)
尝试使用此library
<android.support.percent.PercentRelativeLayout
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">
<ImageView
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</android.support.percent.PercentFrameLayout>
答案 1 :(得分:0)
如果这只是横向视图,那么你也应该将它作为限定符,因此它将是例如,纵向视图的layout-sw720dp-land和layout_sw720dp-port。这将导致此布局仅在设备分别处于横向模式或纵向模式时发生。
其次,请确保您在drawables文件夹中没有使用相同的图标。他们需要增加大小以与文件夹相关联(我假设如果其他屏幕正常工作,你已经有了这个)。
不确定这是否有帮助。