如何将textview背景作为布局的子项时使其透明

问题描述 投票:1回答:3

我在布局中有一个textview,我将click侦听器设置为布局,并且在按下布局时更改了布局的颜色。但是我想将textview的背景设置为透明但不能。它采用窗口的背景(窗口的背景为灰色,布局的背景为白色)而不是布局的背景。

<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。现在我没有源代码,只有图片

enter image description here

更新:我在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>
android background textview transparent
3个回答
3
投票

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


1
投票

当TextView.Background为null时,将采用textView,父背景


0
投票

有点旧,但希望所以它有助于其他人

   <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>
© www.soinside.com 2019 - 2024. All rights reserved.