【问题标题】:Dont want to pass opacity to font in android不想将不透明度传递给android中的字体
【发布时间】:2019-05-19 15:49:26
【问题描述】:

我已经拍摄了一张卡片视图。将黑色应用到其背景,我已经拍摄了文本视图并应用了背景图像并将不透明度传递给 textview 以在输出中获取黑色图像。但我不想将不透明度应用于图片上的字体。请帮忙。 这是代码。

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_gravity="center"
    android:layout_width="match_parent"
    android:layout_height="140dp"
    card_view:cardCornerRadius="10dp"
    android:layout_margin="15dp"
    card_view:cardElevation="20dp"
    android:textColorHighlight="@color/cardview_dark_background"
    app:cardBackgroundColor="#000000"
    >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="ICE CREAM WITH CRANBERRY SYRUP"
        android:textAlignment="center"
        android:textColor="#FFFFFF"
        android:alpha="0.5"
        android:background="@drawable/recp_one"
        />
</android.support.v7.widget.CardView>

【问题讨论】:

  • 我认为您没有正确使用术语不透明度。是不是因为后面图片的颜色而无法阅读全文?这不是不透明的问题。
  • 其他答案是正确的,您不应该为此使用背景(它应该是图像的单独视图)。但是为了使文本突出,您可以使用 shadowColor="#FFFFFFFF" 为文本添加阴影,这样它就会在其下方的任何颜色中脱颖而出。

标签: android fonts opacity


【解决方案1】:

在您的情况下为Textview 应用图像背景并不好,您可以创建不同的ImageViewTextview 并应用您需要的任何属性。

它应该如下所示。

<android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:layout_height="140dp"
        card_view:cardCornerRadius="10dp"
        android:layout_margin="15dp"
        card_view:cardElevation="20dp"
        android:textColorHighlight="@color/cardview_dark_background"
        app:cardBackgroundColor="#000000"
        >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/recp_one"
            android:alpha="0.5"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="ICE CREAM WITH CRANBERRY SYRUP"
            android:textAlignment="center"
            android:textColor="#FFFFFF" />

</android.support.v7.widget.CardView>

【讨论】:

    【解决方案2】:

    试试这个代码

     <android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:layout_height="140dp"
        card_view:cardCornerRadius="10dp"
        android:layout_margin="15dp"
        card_view:cardElevation="20dp"
        android:textColorHighlight="@color/cardview_dark_background"
        app:cardBackgroundColor="#000000"
        >
    
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:alpha="0.5"
                android:background="@drawable/recp_one" />
    
            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="ICE CREAM WITH CRANBERRY SYRUP"
                android:textAlignment="center"
                android:textColor="#FFFFFF" />
        </android.support.v7.widget.CardView>
    

    我的解决方案是同时使用ImageViewTextView 来解决您的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 2013-02-11
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      相关资源
      最近更新 更多