草庐IT

android - 不缩放的渐变背景

coder 2023-12-28 原文

我需要创建一个 230dp 高的渐变(即,不是整个屏幕),屏幕的其余部分为纯色。我不知道该怎么做——我尝试的一切都以渐变扩展到填满整个屏幕而告终。我当前的 XML 如下所示:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:top="230dp">
        <shape android:shape="rectangle" >
            <color android:color="#333333" />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle" >
            <gradient
                android:angle="270"
                android:endColor="#333333"
                android:startColor="#D9D9D9"
                android:type="linear" />

            <size android:height="230dp" />
        </shape>
    </item>

</layer-list>

然后我将该可绘制对象作为背景应用到 XML 中的 LinearLayout:

<?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="#333333" >
    <LinearLayout
        android:id="@+id/container"
        android:orientation="vertical"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:background="@drawable/grey_gradient_bg" >

        <!-- a bunch of content, buttons, etc. -->

    </LinearLayout>
</LinearLayout>

但是渐变会扩展到填满整个屏幕。

我曾尝试使用 PNG 作为背景,但我得到了 the banding problems described here ,修复程序还没有帮助我。

最佳答案

  1. 使用 RelativeLayout 而不是 LinearLayout
  2. 不要使用您的渐变作为布局主容器的背景,而是添加一个 subview ,将高度明确设置为您想要的大小 (230dp),然后将该 View 的背景设置为您的渐变。

关于android - 不缩放的渐变背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9687651/

有关android - 不缩放的渐变背景的更多相关文章

  1. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

    所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

  2. ruby-on-rails - 使用 Rmagick 或 ImageMagick 在背景上放置标题 - 2

    我有一张背景图片,我想在其中添加一个文本框。我想弄清楚如何将标题放置在其顶部的正确位置。(我使用标题是因为我需要自动换行功能)。现在,我只能让文本显示在左上角,但我需要能够手动定位它的开始位置。require'RMagick'require'Pry'includeMagicktext="Loremipsumdolorsitamet"img=ImageList.new('template001.jpg')img 最佳答案 这是使用convert的ImageMagick命令行的答案。如果你想在Rmagick中使用这个方法,你必须自己移植

  3. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  4. ruby-on-rails - 在所有页面上使用 Prawn 的背景图像 - 2

    我在View中有这段代码prawn_document(:page_size=>"A4",:top_margin=>80,:bottom_margin=>40,:background=>"public/uploads/1.png")do|pdf|creation_date=Time.now.strftime('%d-%m-%Y')posts=@posts.eachdo|post|pdf.pad(10)dopdf.textpost.titlepdf.textpost.textendendpdf.page_count.timesdo|i|pdf.go_to_page(i+1)pdf.draw

  5. ruby - 256 种颜色,前景和背景 - 2

    这是两个脚本的故事,与previousquestion有关.这两个脚本位于http://gist.github.com/50692.ansi.rb脚本在所有256种背景颜色上显示所有256种颜色。ncurses.rb脚本显示所有256种前景颜色,但背景显示基本的16种颜色,然后似乎循环显示各种属性,如闪烁和反向视频。那么是什么给了?这是ncurses中的错误,它使用带符号的整数来表示颜色对吗?(即'tputcolors'表示256但'tputpairs'表示32767而不是65536)似乎如果是这种情况,颜色对的前半部分会正确显示但后半部分会重复或进入属性作为int包裹。

  6. ruby 电子表格行背景色 - 2

    我正在尝试使用“电子表格”解析Excel电子表格。如何获取每一行的背景颜色? 最佳答案 book=Spreadsheet::Workbook.newsheet=book.create_worksheet:name=>'Name'format=Spreadsheet::Format.new:color=>:blue,:pattern_fg_color=>:yellow,:pattern=>1sheet.row(0).set_format(0,format)#forfirstcellinfirstrow或sheet.row(0).def

  7. css - 如何让我的背景图片只出现在 rails 4 的一页上? - 2

    我有一张背景图片,我无法只停留在一页上。我制作了一个带有一个主视图的欢迎Controller来显示它。我也在预编译我的Assets。背景显示得很好,但我的目标是只在我的home.html.erbView中显示背景图像。欢迎/home.html.erb:"lang="">title欢迎Controller:classWelcomeController样式表/welcome.css.scss:body{background:{image:asset-url("image.jpg");}}我的应用程序布局中有以下内容:在config/initializers/assets.rb中:Rails

  8. Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信) - 2

    运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid

  9. Android 10.0 设置默认launcher后安装另外launcher后默认Launcher失效的功能修复 - 2

    1.前言 在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关的设置。来解决问题设置默认La

  10. ruby - cucumber :何时使用标签/ Hook 与背景 - 2

    我想知道与使用标签和Hook相比,是否有支持或反对在cucumber中使用背景的好理由。在测试开始之前有一个登录用户可以是这样的:Background:GiventhatIamloggedinScenario:Loremipsumsitametdolor[...]或者像这样:@loginScenario:Loremipsumsitametdolor[...]+before(@login)dovisit('/admin/login/testuser')end知道什么时候该优先考虑另一个吗? 最佳答案 Background在您为场景提供

随机推荐