Xamarin.Android RelativeLayout
初次接触Xamarin.Android.
由于国内Xamarin的资料少见,我大多参考JAVA原生代码,慢慢摸索过来。
我把摸索出来的结果广而告之,希望后来人能少走一点弯路,也希望你也能做出一份贡献。
如果你学会了RelativeLayout,那LinearLayout自然手到擒来。
动态添加学会了,静态添加还远吗?
1. 创建RelativeLayout
RelativeLayout Test = new RelativeLayout(this.Context);
2. 添加控件
2.1 基础添加
TextView TestText = new TextView(this.Context);
Test.AddView(TestText);
2.2 顶部添加 (底部添加等等类似)
RelativeLayout Test = new RelativeLayout(this.Context);
TextView TestText = new TextView(this.Context);
TestText.Text="我是1号";
RelativeLayout.LayoutParams TestTextRP = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WrapContent, RelativeLayout.LayoutParams.WrapContent);
TestTextRP.AddRule(LayoutRules.AlignParentTop);
Test.AddView(TestText,TestTextRP);
Android使用LayoutParams控制控件的空间布局。
而C#常用的布局是通过对控件的空间属性进行修改,这种设计思路在Android不适用了。
我不得不告诉你,如果你需要对控件布局参数进行修改,请务必使用LayoutParams。入乡随俗。
2.3 添加在另一个控件的后面
RelativeLayout Test = new RelativeLayout(this.Context);
TextView TestText = new TextView(this.Context);
TestText.Text = "我是1号";
RelativeLayout.LayoutParams TestTextRP = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WrapContent, RelativeLayout.LayoutParams.WrapContent);
TestTextRP.AddRule(LayoutRules.AlignParentTop);
Test.AddView(TestText,TestTextRP);
TextView NextText = new TextView(this.Context);
NextText.Text = "我是2号";
RelativeLayout.LayoutParams NextTextRP = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WrapContent, RelativeLayout.LayoutParams.WrapContent);
//注意这里
TestText.Id = View.GenerateViewId();
NextTextRP.AddRule(LayoutRules.Below,TestText.Id);
Test.AddView(NextText, NextTextRP);
测试图片:
这里面的关键点是给上一个控件的ID进行赋值。(我使用的是系统生成的值。你可以尝试其它值,如1,2,3..等等。)
如果你不赋值,那么实际效果是两个TextView将会重叠。
经过测试,每个控件的默认ID是-1.
2.4 待续
出自: https://www.cnblogs.com/nanyunan/p/9189057.html
Xamarin.Android RelativeLayout的更多相关文章
- Xamarin.Android通知详解
一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取Notification ...
- Xamarin.Android之引导页的简单制作
0x01 前言 对于现在大部分的APP,第一次打开刚安装或更新安装的APP都会有几个引导界面,通常这几个引导页是告诉用户 APP有些什么功能或者修改了什么bug.新增了什么功能等等等. 下面就用Xam ...
- Xamarin.Android之简单的抽屉布局
0x01 前言 相信对于用过Android版QQ的,应该都不会陌生它那个向右滑动的菜单(虽说我用的是Lumia) 今天就用Xamarin.Android实现个比较简单的抽屉布局.下面直接进正题. 0x ...
- Xamarin.Android之动画
Translate动画 这个动画是最常使用到的,主要就是将控件从一个位置移动到另一个位置,并且还可以在这其中增加一定的效果,下面我们将采用两种方式实现动画,首选的是利用XML来制作动画,其次就是利用代 ...
- Xamarin.Android开发实践(八)
Xamarin.Android其他类型的服务 一.前言 前面我们已经学了关于服务的很多知识,但是对于真实的开发那些远远不够,通过这节我们将学习其他类型的服务,比如前台服务.IntentService和 ...
- Xamarin.Android开发实践(六)
Xamarin.Android通知详解 一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android ...
- Xamarin Android开发实战(上册)大学霸内部资料
Xamarin Android开发实战(上册)大学霸内部资料 试读文档下载地址:http://pan.baidu.com/s/1jGEHhhO 密码:vcfm 介绍: 本教程是国内唯一的Xamar ...
- [置顶]
xamarin android自定义标题栏(自定义属性、回调事件)
自定义控件的基本要求 这篇文章就当是自定义控件入门,看了几篇android关于自定义控件的文章,了解了一下,android自定义控件主要有3种方式: 自绘控件:继承View类,所展示的内容在OnDra ...
- [置顶]
xamarin android Fragment实现底部导航栏
前段时间写了篇关于Fragment的文章,介绍了基础的概念,用静态和动态的方式加载Fragment Xamarin Android Fragment的两种加载方式.下面的这个例子介绍xamarin ...
随机推荐
- Android开发入门——ImageView的设置
在熟悉了android后,总是对系统自带的ic_launcher这个小机器人不太喜欢,想换成自己喜欢的图片,接下来就介绍两种方法来实现把imageView的ic_launcher换成自己喜欢的图片. ...
- Rhythmk 学习 Hibernate 04 - Hibernate 辅助工具 之 JBoos Tool
1.安装JBoos Tool Help -> Install new Software 然后添加: http://download.jboss.org/jbosstools/updates/de ...
- #用openfiledialog文件和savefileDialog打开和保存文件
一.打开文件 Stream myStream = null; OpenFileDialog openFileDialog1 = new OpenFileDialog(); ...
- mybatis 需要注意的点 MyBatis 插入空值时,需要指定JdbcType (201
转自:https://blog.csdn.net/snakemoving/article/details/76052875 前天遇到一个问题 异常显示如下: 引用 Exception in threa ...
- c# 后台调用接口接收传过来的json
public string GetRequestTest(string url) { HttpWebRequest httpWebRequest = (HttpWebRequest)WebReques ...
- UNITY 中List.Sort的BUG
List<int> lst = new List<int>(); lst.Add(); lst.Add(); lst.Add(); lst.Add(); lst.Add(); ...
- 19.Remove Nth Node From End of List(List; Two-Pointers)
Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...
- innodb count优化测试
对于索引优化真的是门课题,先来研究下最平常的问题,innodb引擎下 怎么让count(*)快一点. 首先需要清楚 innodb 默认是对主键建立聚簇索引,如果没有主键,那就是对具有唯一且非空值的索引 ...
- MVC知识记录
1.完整深入分析 MVC请求机制:http://blog.jobbole.com/85033/ 2.MVC入门:http://www.aizhengli.com/givecase-aspnet-5-m ...
- 从上往下打印二叉树(java)
import java.util.ArrayList; import java.util.*; /** public class TreeNode { int val = 0; TreeNode le ...