Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 扩展线性布局_Android_Android Linearlayout - Fatal编程技术网

Android 扩展线性布局

Android 扩展线性布局,android,android-linearlayout,Android,Android Linearlayout,我想扩展线性布局类,并修改它的一些属性。 我想改变的一个属性是背景 属性background将被设置为某个值,如果该背景短于视图的高度,我希望它垂直重复 如果在构造函数中使用getBackground(),则获取设置为视图的背景。 然而,当我尝试平铺它时,它显示了一次很棒的效果,但是所有它应该重复的位置,它只是被弄脏了 如何获取视图的ResourceID背景而不是背景图像,以便在不首先调用“super.”方法的情况下处理它?如果扩展LinearLayout的唯一原因是设置重复背景或非重复背景,则

我想扩展线性布局类,并修改它的一些属性。 我想改变的一个属性是背景

属性background将被设置为某个值,如果该背景短于视图的高度,我希望它垂直重复

如果在构造函数中使用getBackground(),则获取设置为视图的背景。 然而,当我尝试平铺它时,它显示了一次很棒的效果,但是所有它应该重复的位置,它只是被弄脏了


如何获取视图的ResourceID背景而不是背景图像,以便在不首先调用“super.”方法的情况下处理它?

如果扩展LinearLayout的唯一原因是设置重复背景或非重复背景,则无需扩展LinearLayout

您可以使用可绘制xml文件从可绘制文件创建重复背景:

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:tileMode="repeat"
    android:src="@drawable/your_drawable"/>


根据您的“状态”,您可以根据自己的选择设置线性布局的背景。

发布可能的示例代码,以便有人可以查看它并向您提供建议!您可以在AttributeSet参数中找到id您不必扩展LinearLayout,您需要的是创建一个自定义的Drawable:class RepeatDrawable extendsDrawable@pskink我将如何创建这样一个类?@LenaBru,正如我所说:类可重复绘制。扩展Drawable并在draw()方法中进行绘图问题是我只想在垂直方向上重复背景,而不是在水平方向上重复背景,似乎我的背景宽度为540和719(相同的两个不同图像),我在屏幕的右侧重复了一些我不想重复的图像,我希望图像水平拉伸,垂直平铺。@LenaBru因此扩展Drawable,您可以在draw()方法中执行任何您想要的操作,但我在draw方法中会写什么?@LenaBru draw原始Drawable拉伸到宽度,并在y轴重复