android 主题 Theme.AppCompat.Light.NoActionBar 在 Lollipop+ 设备中的奇怪行为

Strange behavior of android theme Theme.AppCompat.Light.NoActionBar in Lollipop+ devices

我在为 Activity 设置 主题 时遇到问题。一切都在 Pre-Lollipop 设备中完美运行。

我想实现这样的布局设计:

图片:1

我已经做到了 xml :

design.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/spec_back"
android:orientation="vertical"
android:weightSum="1">

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="@color/spec_back"
    android:scrollbars="none">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="10dp"
            android:orientation="horizontal"
            android:weightSum="3">

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="3"
                android:background="@color/transparent"
                android:orientation="vertical">

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="30dp"
                    android:layout_margin="1dp"
                    android:background="@color/transparent"
                    android:orientation="horizontal"
                    android:weightSum="6">

                    <Button
                        android:id="@+id/btn_cut"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/blue_spec"
                        android:clickable="false"

                        android:gravity="left|center"
                        android:paddingLeft="3dp"
                        android:text="@string/CUT"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_cut_ex"
                        style="@android:style/ButtonBar"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/EX"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_cut_vg"
                        style="@android:style/ButtonBar"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/VG"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_cut_g"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/G"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_cut_f"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/G"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_tex"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_weight="1"
                        android:background="@drawable/square_trans"
                        android:text="@string/tex"
                        android:textColor="@color/blue_spec"
                        android:textSize="@dimen/font_12" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="30dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:orientation="horizontal"
                    android:weightSum="6">

                    <Button
                        android:id="@+id/btn_pol"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/blue_spec"
                        android:clickable="false"
                        android:gravity="left|center"
                        android:paddingLeft="3dp"
                        android:text="@string/POL"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_pol_ex"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/EX"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_pol_vg"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/VG"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_pol_g"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/G"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_pol_f"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/G"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_tvg"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_weight="1"
                        android:background="@drawable/square_trans"
                        android:text="@string/tvg"
                        android:textColor="@color/blue_spec"
                        android:textSize="@dimen/font_12" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="30dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:orientation="horizontal"
                    android:weightSum="6">

                    <Button
                        android:id="@+id/btn_sym"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/blue_spec"
                        android:clickable="false"
                        android:gravity="left|center"
                        android:paddingLeft="3dp"
                        android:text="@string/SYM"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_sym_ex"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/EX"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_sym_vg"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/VG"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_sym_g"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/G"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_sym_f"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginRight="1dp"
                        android:layout_weight="1"
                        android:background="@color/gray_spec"
                        android:text="@string/F"
                        android:textColor="@color/white"
                        android:textSize="@dimen/font_12" />

                    <Button
                        android:id="@+id/btn_nobgm"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_weight="1"
                        android:background="@drawable/square_trans"
                        android:text="@string/nobgm"
                        android:textColor="@color/blue_spec"
                        android:textSize="@dimen/font_12" />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="20dp"
            android:orientation="vertical">
        </LinearLayout>
    </LinearLayout>
</ScrollView>

</LinearLayout>

我已经为我的按钮指定了 1dp 的边距,以查看它们与每个 other.This 布局分开,非常适合 Pre-Lollipop 设备。但对于 Lollipop,尽管有利润,它还是被合并了。我看不到左右边距,可以看到上下边距。这个问题可以用下面的 Lollipop 设备图片来解释:

图片:2

我正在应用主题 :

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:colorPrimary">@color/colorPrimary</item>
    <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="android:colorAccent">@color/colorPrimary</item>
    <item name="android:windowActionModeOverlay">true</item>
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:actionModeBackground">@color/colorPrimary</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:textColor">@color/myTextPrimaryColor</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
    <item name="android:typeface">serif</item>
</style>

请帮忙。我在这里呆了最后 4 天。

添加

style="?android:attr/borderlessButtonStyle"

到布局中的按钮

祝你好运,'。

使用以下代码段删除布局 按钮 属性 中的阴影。

添加了这个 Property style="?android:attr/borderlessButtonStyle.

<Button
  android:id="@+id/btn_cut"
  android:layout_width="0dp"
  android:layout_height="wrap_content"
  android:layout_gravity="center"
  android:layout_marginRight="1dp"
  android:layout_weight="1"
  style="?android:attr/borderlessButtonStyle"
  android:background="@color/blue_spec"
  android:clickable="false"
  android:gravity="left|center"
  android:paddingLeft="3dp"
  android:text="@string/CUT"
  android:textColor="@color/white"
  android:textSize="@dimen/font_12" />

注意:另外,为了获得更好的结果,您可以使用 Table Layout 代替此 Stuff Design。这将产生更好的结果而不是 Linear Layout.