如何让textview的背景在layout的child时透明

How to make textview's background transparent when it is the child of the layout

我在布局中有一个文本视图,我将点击侦听器设置为布局,按下布局时更改了布局的颜色。但是我想将文本视图的背景设置为透明但不能。它采用 window 的背景(window 的背景是灰色的,我的布局的背景是白色的)而不是布局的背景。

<LinearLayout android:layout_width="match_parent"
              android:layout_height="50dp"
              style="@style/TestLayout">
    <TextView android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:text="Test"
              android:background="@android:color/transparent"/>
</LinearLayout>

styles.xml

<style name="TestLayout" parent="AppTheme.NoActionBar">
    <item name="android:background">@drawable/selector_test_small_layout</item>
</style>

selector_test_small_layout

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="true" android:state_enabled="true"
        android:drawable="@drawable/s_pressed_layout" />
    <item android:state_hovered="true" android:state_enabled="true"
        android:drawable="@drawable/s_pressed_layout"/>

    <item android:state_enabled="true" android:drawable="@drawable/s_color_primary"/>
    <item android:state_enabled="false" android:drawable="@drawable/s_color_primary"/>
</selector>

更新: 抱歉我的 xml 不够完整。明天我会正确更新Y_Y。现在没有源码,只有图片

更新: 我在 styles.xml

中包含了更多内容
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:windowContentOverlay">@null</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    **<item name="android:windowBackground">@color/setting_divider</item>**
</style>

在AndroidManifest.xml

<application
        android:name=".TestApplication"
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        **android:theme="@style/AppTheme**">
....
</application>

我检查了上面添加的代码,我根本看不出任何问题。您能否分享屏幕快照以指出确切的问题。您也可以尝试在 TextView 上设置 background="@null"。

当TextView.Background为null时,取textView,parent background

有点老,但希望对其他人有所帮助

   <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@drawable/backfull</item>
    <item name="android:windowActionBar">false</item>

    <item name="android:windowActionModeOverlay">true</item>
    <item name="windowActionModeOverlay">true</item>

</style>

<style name="AppTheme2" parent="AppTheme.Base">
    <item name="colorPrimary">@drawable/backfull</item>
    <item name="colorPrimaryDark">@android:color/white</item>>
    <item name="colorAccent">@android:color/black</item>
    <item name="colorButtonNormal">@android:color/white</item>
</style>

<style name="ToolbarTheme" parent="Widget.AppCompat.Toolbar">
    <item name="android:background">@drawable/backfull</item>
    <item name="background">@android:color/black</item>
    <item name="titleTextAppearance">@style/ToolbarTitleTheme</item>
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
    <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>

<style name="ToolbarTitleTheme">
    <item name="android:textColor">@android:color/holo_red_dark</item>
    <item name="android:textStyle">bold</item>
</style>