android控件及控件属性
Ⅰ Android如何多个控件设置一个属性
通过设置公共style的方式对同一个属性进行统一设置
1、res/values文件夹下新建一个xml文件
<?xmlversion="1.0"encoding="utf-8"?>
<resources>
<!--定义一个叫et1的style-->
<stylename="et1"parent="@android:style/Widget.EditText">
<!--设置控件的背景色-->
<itemname="android:background">#1A4EA4</item>
</style>
</resources>
2、组件中使用
<EditTextandroid:layout_width="fill_parent"android:id="@+id/et2"
android:text="自定义样式一"android:layout_height="wrap_content"style="@style/et1"></EditText><!--设置style为et1,需要设置同样属性的其他组件可以都设置成同一个style-->
Ⅱ android 自定义控件 属性怎么用
自定义属性设置
public class lei extends RelativeLayout {
private TextView tv1
public lei(Context context) {
super(context);
}
public lei(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater.from(context).inflate(R.layout.item,this);
tv1 = findViewById(R.id.tv1);
TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.lei);
String str1 = (String) array.getText(R.styleable.lei_settitle);
int str2 = array.getColor(R.styleable.lei_setbackgroudcolor,Color.BLACK);
tv1.setText(str1);
tv1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getContext(), "toast", Toast.LENGTH_SHORT).show();
}
});
array.recycle();
}
}
布局控件
<com.example.administrator.myapplication.lei
android:id="@+id/ll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
cs:setbackgroudcolor="#158616"
cs:settitle="这个是标题"
cs:settitletextcolor="#FFFFFF"
cs:settextrcolor="#FFFFFF"
>
</com.example.administrator.myapplication.lei>
属性设置
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="lei" >
<attr name="setbackgroudcolor" format="color|reference"/>
<attr name="settitle" format="string|reference"/>
<attr name="settextrcolor" format="color"/>
<attr name="settitletextcolor" format="color"/>
</declare-styleable>
</resources>
Ⅲ 如何获取Android界面的控件属性
objective c 怎样获取界面控件
iewport全部属性&值如下:width: viewport宽度
height: viewport高度
initial-scale: 初始缩放比例
maximum-scale: 最大缩放比例
minimum-scale: 最小缩放比例
user-scalable: 是否允许用户缩放例:width=960 或 device-width
height=1000 或 device-height
initial-scale=0.5
maximum-scale=2
minimum-scale=1
user-scalable=1 或 0 (yes 或 no)layout viewport的默认值在Apple实现viewport后,其他浏览器也加入了对viewport meta的支持,但彼此间还是有些差异,差异最大的是layout viewport的表现:Safari iPhone: 980px
Opera: 850px
Android WebKit: 800px
Ⅳ android 布局文件中 控件属性哪些是必须的哪些是可选的啊
一般用可视化设置控件后,再打开布局xml文件,里面有的属性都是必须得属性。宽和高当然是必须的,用可视化设置布局后,宽高都是默认值,也可以写死。
Ⅳ Android如何用代码实现,给许多控件设置相同属性
一、方法
使用getLayoutParams() 和setLayoutParams()方法
二、示例代码
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) aaa.getLayoutParams();
// 取控件aaa当前的布局参数
linearParams.height = 365; // 当控件的高强制设成365象素
aaa.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件aaa
三、原理
a)getLayoutParams()和setLayoutParams()都是控件基类view的public方法,在外部也可以直接调用。
b)由于LayoutParams一般是在加入容器中设置的,所以容易混淆所指定的布局属性究竟是保存在容器中,还是控件本身的属性,答案是控件本身。但是在设置时还是要注意布局属性与容器种类密切相关。
Ⅵ Android之自定义控件
一、简单自定义控件MyButton
每一个控件都是一个java类,有对应的代码,只要你能正确的编写java代码,那么电脑培训发现可以创造出符合你需求的控件,即自定义控件。谈脊
1.通过继承的方式,创建自定义控件
通过继承一个现有的控件,覆盖其界面的呈现
通过继承一个包含若干子控件的布局
通过继承一个现有的控件,覆盖某个响应事件
继承一个View来完整自定义一个心控件
2.使你的自定义控件继承自某个最接近的Android控件,必须是public
一般都会调用父类的构造方法,注意一般有三个构造方法
覆盖原来控件的方法,注意是否要再调用super中的方法
在XML中以类全名的方式引用此控件
二、复杂自定义控件MyLogin
需要设计包含一组粗虚控件的自定义控件就需要用到复杂的自定义控件
1)使得你的自定义控件继承自某个接近的布局
2)正确的实现构造方法:构造方法中实例化目标布局,同时查找到各个子布局
3)添加相应的响应代码来修改属性,使得外部能访问布局中的子控件
4)在XML中以类全名的方式引用此控件,完整的岩侍燃包名+类名。
Ⅶ android 怎么在代码中获取控件的属性值
如果是自定义的控件可以用一下代码TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MyToggleBtn);// 由attrs 获得 TypeArray,
如果是系统自带的控件,通常控件点get会有对应的获取属性值的方法,如textView.getHeight,不过有些方法如margin,就要通过layoutparam去获取设置
Ⅷ android中xml中有些控件的属性里面有 "app:.." ,此处的app:是什么意思和一般的android:有什么区别
区别是:这两个是声明的不同的命名空间,android的是系统的,app是自定义的。
Android自定义控件的属性,在xml中使用自己自定义的attr的时候,其中有一步就是要自定义一个xml的命名空间后然后再给自定义属性赋值,现在发现不知道什么时候开始Android把这个改了,现在发现可以统一用
xmlns:app="http://schemas.android.com/apk/res-auto"
而不是原来的:
xmlns:app="http://schemas.android.com/apk/App的Package名"
还有人提到在作为lib被使用的时候,也应该用res-auto
所以说区别就是如果你http://schemas.android.com/apk/后面写的是res/包名,那就是相关包名下的自定义属性,而res-auto就是所有的自定义包名。