`
owennet
  • 浏览: 89820 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android自定义Layout

阅读更多

在开发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>

最后,和其他布局一样使用即可。

分享到:
评论
2 楼 luliangy 2012-07-24  
1 楼 a327611906 2010-09-17  
 

相关推荐

    Android自定义Layout布局

    本篇文章将深入探讨如何在Android中进行自定义Layout布局的开发。 首先,创建自定义Layout首先要创建一个新的Java类,继承自`ViewGroup`或`LinearLayout`等现有布局。选择`ViewGroup`是因为它是所有布局的基础类,...

    自定义右上角带叉号Dialog Android 自定义layout Dialog

    在Android开发中,创建自定义对话框(Dialog)是一种常见的需求,这允许开发者根据应用的UI风格和功能需求定制对话框的布局和交互方式。本文将深入探讨如何创建一个自定义右上角带有关闭叉号的Dialog,并实现点击...

    Android自定义View以及Layout属性

    通过阅读LinearLayout或RelativeLayout的源码,可以学习它们如何遍历并定位子View,这有助于自定义Layout时参考和借鉴。 此外,利用工具如Android Studio的Layout Inspector可以直观地查看运行时布局的层级结构和...

    Android自定义Layout实现QQ消息拖动效果

    在Android开发中,自定义Layout是一项重要的技能,它允许开发者根据特定需求创建独特且交互性强的用户界面。本文将深入探讨如何实现一个类似QQ消息拖动效果的自定义Layout,以此来增强应用的用户体验。 首先,我们...

    android 自定义单选按钮radioButton

    本教程将深入探讨如何在Android中自定义RadioButton,使其满足特定的设计需求。 一、RadioButton基础 RadioButton是Android的 android.widget.RadioGroup 类中的一个子类,它在视觉上表现为一个小圆圈,未被选中时...

    CustomLayout:Android 自定义Layout

    在Android开发中,自定义Layout是一项重要的技能,它允许开发者根据特定需求创建独特且复杂的用户界面。本项目“CustomLayout”旨在提供一个Android自定义ListView和Dialog Layout的实例,适用于2015年夏季课程设计...

    Android自定义toolbar布局

    这里,`android:layout_width`和`android:layout_height`分别设置`Toolbar`的宽度和高度,`android:background`设置背景颜色,`android:elevation`用于添加阴影效果,`android:theme`则是定义`Toolbar`的主题。...

    android自定义弹出框

    &lt;?xml version="1.0" encoding="UTF-8"?&gt; ... android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" &gt; ... android:layout_width="300...android自定义弹出框,很实用的

    android自定义垂直seekbar

    总结来说,创建Android自定义垂直SeekBar主要涉及以下几个步骤: 1. 创建新的View类,继承自SeekBar。 2. 重写构造函数和onMeasure()方法,使SeekBar变为垂直布局并调整尺寸。 3. 在XML布局文件中声明自定义View,并...

    android自定义圆形布局CircleLayout

    在Android开发中,自定义...总的来说,`CircleLayout`是一个很好的实例,展示了Android自定义布局的实现过程。通过学习和理解这个例子,开发者可以更好地掌握自定义布局的原理,从而在项目中创造出更多独特的界面效果。

    Android自定义输入法软键盘

    本文将深入探讨如何在Android系统中实现一个自定义输入法,主要基于提供的博客链接——《Android自定义输入法软键盘》。 首先,要创建一个自定义输入法,我们需要创建一个新的Android项目,并在`AndroidManifest....

    Android 自定义TimePicker组件

    总之,Android的TimePicker组件虽然简单,但通过深入理解其工作原理并进行自定义,我们可以创造出满足各种设计需求的时钟选择器。自定义组件不仅可以提高用户体验,还能增强应用的个性化和差异化,是提升产品品质的...

    Android布局——Preference自定义layout的方法

    本文举例说明在Preference中自定义layout的方法。笔者是为了在设置中插入@有米v4广告条才研究了一晚上的。正文:首先PreferenceScreen是一个xml文件于res/xml目录下,不属于layout文件。要插入layout,有两种方法。 ...

    android自定义数字键盘

    以上就是实现一个简单的Android自定义数字键盘的基本步骤。这个键盘可以根据实际需求进行扩展,例如添加更多特殊功能按钮,如加减乘除符号,或者增加对多行文本的支持。同时,也可以考虑优化键盘的视觉样式,使其与...

    android自定义圆盘方向按钮

    本教程将深入探讨如何在Android中实现一个自定义的圆盘方向按钮,这个控件可以用于游戏或者其他需要用户进行方向选择的应用场景。我们将讨论如何从头开始构建这样一个自定义控件,包括继承自View类,利用Canvas进行...

    Android自定义Spinner样式

    以上就是关于Android自定义Spinner样式的详细说明。通过这些方法,你可以打造出与应用主题相符、用户体验良好的Spinner组件。记住,良好的UI设计能够提升用户对应用的满意度,因此花时间在自定义控件样式上是值得的...

    android自定义百分比布局

    android:layout_width="match_parent" android:layout_height="200dip" android:background="@color/backColor"&gt; &lt;/com.hao.percentlayout.layout.PercentLinearLayout&gt; //相对布局 &lt;com.hao.percentlayout....

    android实现自定义tab页

    在Android应用开发中,创建自定义的Tab页可以极大地提升用户体验和界面的个性化。本教程将深入探讨如何利用RadioButton实现非源生风格的Tab页,而不是依赖于原生的TabHost或ViewPager。以下是对这个主题的详细讲解:...

    Android自定义软键盘

    在Android开发中,有时我们需要为特定应用或者输入场景创建自定义的软键盘,以满足个性化需求或增强用户体验。本文将详细讲解如何利用Android的`KeyboardView`组件来实现这一功能。 `KeyboardView`是Android SDK...

    android 自定义软键盘

    本主题将详细介绍如何在Android中实现一个大气、美观且简洁的仿iOS、支付宝、微信支付风格的自定义纯数字软键盘。 首先,创建自定义软键盘的核心在于定义一个`InputMethodService`。这个服务类是Android系统用于...

Global site tag (gtag.js) - Google Analytics