我正在完成我的毕业工作,在包括自定义工具栏(用于汉堡图标)和用NavigationView替换ListView for DrawerLayout菜单项之前,我对布局没有任何问题。这是来自AS的预览以及RecyclerView
所需的预期结果这是Android设备上的实际视图(LeTV X800 API21,如果重要的话)
正如您所看到的,连续项目之间的差距很大,我不知道问题的根源是什么。我正在使用一个xml包含框架容器的活动,其中加载了所需的布局。 fragment_car_cost.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/car_cost_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:orientation="vertical">
<Space
android:layout_width="match_parent"
android:layout_height="15dp"
android:id="@+id/space"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/car_cost_entry_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_below="@id/space"
app:layoutManager="LinearLayoutManager"
tools:listitem="@layout/item_car_cost">
</android.support.v7.widget.RecyclerView>
<com.github.clans.fab.FloatingActionMenu
android:id="@+id/car_cost_floating_action_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
fab:menu_animationDelayPerItem="55"
fab:menu_backgroundColor="@android:color/transparent"
fab:menu_buttonSpacing="0dp"
fab:menu_colorNormal="#da3c2f"
fab:menu_colorPressed="#dc4b3f"
fab:menu_colorRipple="#99d4d4d4"
fab:menu_fab_label="Opcje"
fab:menu_fab_size="normal"
fab:menu_icon="@drawable/fab_add"
fab:menu_labels_colorNormal="#333"
fab:menu_labels_colorPressed="#444"
fab:menu_labels_colorRipple="#66efecec"
fab:menu_labels_cornerRadius="3dp"
fab:menu_labels_ellipsize="none"
fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
fab:menu_labels_margin="0dp"
fab:menu_labels_maxLines="-1"
fab:menu_labels_padding="8dp"
fab:menu_labels_position="left"
fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
fab:menu_labels_showShadow="true"
fab:menu_labels_singleLine="false"
fab:menu_labels_textColor="#f2f1f1"
fab:menu_labels_textSize="15sp"
fab:menu_openDirection="up"
fab:menu_shadowColor="#66aff198"
fab:menu_shadowRadius="4dp"
fab:menu_shadowXOffset="1dp"
fab:menu_shadowYOffset="4dp"
fab:menu_showShadow="true"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/car_cost_entry_recycler_view">
<com.github.clans.fab.FloatingActionButton
android:id="@+id/btn_car_costs_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_input_add"
fab:fab_label="@string/add"
fab:fab_size="mini" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/btn_car_costs_statistics"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_my_calendar"
fab:fab_label="@string/statistics"
fab:fab_size="mini" />
<com.github.clans.fab.FloatingActionButton
android:id="@+id/btn_car_costs_charts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/btn_dropdown"
fab:fab_label="@string/charts"
fab:fab_size="mini" />
</com.github.clans.fab.FloatingActionMenu>
</RelativeLayout>
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/layout_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/main_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar" />
</RelativeLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="left"
app:headerLayout="@layout/navigation_header"
app:menu="@menu/menu_navigation" />
</android.support.v4.widget.DrawerLayout>
和回收商查看项目:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/car_cost_header"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="7sp"
android:orientation="horizontal"
android:weightSum="1">
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/car_cost_entry_card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="2dp"
card_view:cardElevation="4dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/cost_type_image_view"
android:layout_width="75sp"
android:layout_height="75sp"
android:src="@android:drawable/ic_menu_today"
android:longClickable="true"/>
<TextView
android:id="@+id/car_cost_entry_date_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/cost_type_image_view"
android:text="17.08.2017 17:20"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/car_cost_entry_date_text_view"
android:layout_toEndOf="@+id/cost_type_image_view"
android:text="Typ: paliwo"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/car_cost_entry_type_text_view" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Koszt: 666,66zł"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_below="@+id/car_cost_entry_type_text_view"
android:layout_toEndOf="@+id/cost_type_image_view"
android:id="@+id/car_cost_entry_cost_text_view"/>
<ImageView
android:id="@+id/cost_details_image_view"
android:layout_width="wrap_content"
android:layout_height="40sp"
android:src="@android:drawable/ic_menu_delete"
android:clickable="true"
android:layout_alignParentRight="true"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
答案 0 :(得分:1)
在LinearLayout
项目布局
wrap_content
身高更改为RecyclerView
<LinearLayout ...
...
android:layout_width="match_parent"
android:layout_height="wrap_content"
...
... >
答案 1 :(得分:0)
LinearLayout
在RecyclerView
项目行中无用。只需删除父LinearLayout
并让CardView
成为根元素即可。这样,代码就会变得更加优化并解决您的问题。