在开发Android过程中,有时已有的Loyout布局不能完全满足设计需求,这时需要在已有的Layout基础上上进行扩展,以达到通过配置文件描述布局的设计原则。
首先第一一个布局类,重写其onDraw方法。
public static class iRelativeLayout extends RelativeLayout
{
private Paint mPaint;
private Rect mRect;
public iRelativeLayout( Context context, AttributeSet attrs ) {
super(context, attrs);
mRect = new Rect();
mPaint = new Paint();
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
mPaint.setColor(0xFFCBD2D8);
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.drawColor(0xFFC5CCD4);
this.getDrawingRect(mRect);
for (int i = 0; i < mRect.right; i += 7)
{
canvas.drawRect(mRect.left + i, mRect.top, mRect.left + i + 2,
mRect.bottom, mPaint);
}
}
}
其次,在布局配置文件中引用:
<?xml version="1.0" encoding="utf-8"?>
<view xmlns:android="http://schemas.android.com/apk/res/android"
class="iRelativeLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background = "#C5CCD4FF"
>
<LinearLayout
android:id = "@+id/TabLayout_One"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:layout_above = "@+id/Tabs"
>
<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content">
<RelativeLayout
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:visibility = "visible"
>
<Button
android:id = "@+id/ButtonOne"
android:layout_width = "wrap_content"
android:layout_height = "fill_parent"
android:text = "h3h3h3"
/>
<Button
android:id = "@+id/ButtonTwo"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "11222"
android:layout_below ="@+id/ButtonOne"
/>
<Button
android:id = "@+id/ButtonThree"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "wass"
android:layout_below ="@+id/ButtonTwo"
/>
</RelativeLayout>
</ScrollView>
</LinearLayout>
</view>
最后,和其他布局一样使用即可。
分享到:
相关推荐
本篇文章将深入探讨如何在Android中进行自定义Layout布局的开发。 首先,创建自定义Layout首先要创建一个新的Java类,继承自`ViewGroup`或`LinearLayout`等现有布局。选择`ViewGroup`是因为它是所有布局的基础类,...
在Android开发中,创建自定义对话框(Dialog)是一种常见的需求,这允许开发者根据应用的UI风格和功能需求定制对话框的布局和交互方式。本文将深入探讨如何创建一个自定义右上角带有关闭叉号的Dialog,并实现点击...
通过阅读LinearLayout或RelativeLayout的源码,可以学习它们如何遍历并定位子View,这有助于自定义Layout时参考和借鉴。 此外,利用工具如Android Studio的Layout Inspector可以直观地查看运行时布局的层级结构和...
在Android开发中,自定义Layout是一项重要的技能,它允许开发者根据特定需求创建独特且交互性强的用户界面。本文将深入探讨如何实现一个类似QQ消息拖动效果的自定义Layout,以此来增强应用的用户体验。 首先,我们...
本教程将深入探讨如何在Android中自定义RadioButton,使其满足特定的设计需求。 一、RadioButton基础 RadioButton是Android的 android.widget.RadioGroup 类中的一个子类,它在视觉上表现为一个小圆圈,未被选中时...
在Android开发中,自定义Layout是一项重要的技能,它允许开发者根据特定需求创建独特且复杂的用户界面。本项目“CustomLayout”旨在提供一个Android自定义ListView和Dialog Layout的实例,适用于2015年夏季课程设计...
这里,`android:layout_width`和`android:layout_height`分别设置`Toolbar`的宽度和高度,`android:background`设置背景颜色,`android:elevation`用于添加阴影效果,`android:theme`则是定义`Toolbar`的主题。...
<?xml version="1.0" encoding="UTF-8"?> ... android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" > ... android:layout_width="300...android自定义弹出框,很实用的
总结来说,创建Android自定义垂直SeekBar主要涉及以下几个步骤: 1. 创建新的View类,继承自SeekBar。 2. 重写构造函数和onMeasure()方法,使SeekBar变为垂直布局并调整尺寸。 3. 在XML布局文件中声明自定义View,并...
在Android开发中,自定义...总的来说,`CircleLayout`是一个很好的实例,展示了Android自定义布局的实现过程。通过学习和理解这个例子,开发者可以更好地掌握自定义布局的原理,从而在项目中创造出更多独特的界面效果。
本文将深入探讨如何在Android系统中实现一个自定义输入法,主要基于提供的博客链接——《Android自定义输入法软键盘》。 首先,要创建一个自定义输入法,我们需要创建一个新的Android项目,并在`AndroidManifest....
总之,Android的TimePicker组件虽然简单,但通过深入理解其工作原理并进行自定义,我们可以创造出满足各种设计需求的时钟选择器。自定义组件不仅可以提高用户体验,还能增强应用的个性化和差异化,是提升产品品质的...
本文举例说明在Preference中自定义layout的方法。笔者是为了在设置中插入@有米v4广告条才研究了一晚上的。正文:首先PreferenceScreen是一个xml文件于res/xml目录下,不属于layout文件。要插入layout,有两种方法。 ...
以上就是实现一个简单的Android自定义数字键盘的基本步骤。这个键盘可以根据实际需求进行扩展,例如添加更多特殊功能按钮,如加减乘除符号,或者增加对多行文本的支持。同时,也可以考虑优化键盘的视觉样式,使其与...
本教程将深入探讨如何在Android中实现一个自定义的圆盘方向按钮,这个控件可以用于游戏或者其他需要用户进行方向选择的应用场景。我们将讨论如何从头开始构建这样一个自定义控件,包括继承自View类,利用Canvas进行...
以上就是关于Android自定义Spinner样式的详细说明。通过这些方法,你可以打造出与应用主题相符、用户体验良好的Spinner组件。记住,良好的UI设计能够提升用户对应用的满意度,因此花时间在自定义控件样式上是值得的...
android:layout_width="match_parent" android:layout_height="200dip" android:background="@color/backColor"> </com.hao.percentlayout.layout.PercentLinearLayout> //相对布局 <com.hao.percentlayout....
在Android应用开发中,创建自定义的Tab页可以极大地提升用户体验和界面的个性化。本教程将深入探讨如何利用RadioButton实现非源生风格的Tab页,而不是依赖于原生的TabHost或ViewPager。以下是对这个主题的详细讲解:...
在Android开发中,有时我们需要为特定应用或者输入场景创建自定义的软键盘,以满足个性化需求或增强用户体验。本文将详细讲解如何利用Android的`KeyboardView`组件来实现这一功能。 `KeyboardView`是Android SDK...
本主题将详细介绍如何在Android中实现一个大气、美观且简洁的仿iOS、支付宝、微信支付风格的自定义纯数字软键盘。 首先,创建自定义软键盘的核心在于定义一个`InputMethodService`。这个服务类是Android系统用于...