1. android编程 能不能在xml中设置控件宽度为父窗口的一半
使用 android:layout_weight 属性。例子:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="1.0">
<Button
android:text="left"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".50"/>
<Button
android:text="right"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".50"/>
</LinearLayout>
2. android如何判断控件的大小大于屏幕的宽度
可以通过给控件注册监听视图树的观察者来获取控件的大小
代码如下
java">{
privateTextViewtv;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.text);
tv.getViewTreeObserver().addOnGlobalLayoutListener(newOnGlobalLayoutListener(){
@Override
publicvoidonGlobalLayout(){
//在这里获取到宽高
intwidth=tv.getMeasuredWidth();
intheight=tv.getMeasuredHeight();
}
});
}
}
ViewTreeObserver 是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知。
而OnGlobalLayoutListener是当在一个视图树中全局布局发生改变或者视图树中的某个视图的可视状态发生改变时的回调接口
获取屏幕宽高代码如下
DisplayMetricsdm=getResources().getDisplayMetrics();
intscreenWidth=dm.widthPixels;//屏幕宽度
intscreenHeight=dm.heightPixels;//屏幕高度
两者都获取到了,就可以进行判断了
3. android 控件直接在activity可以设置宽和高吗
webView.setInitialScale(viewscala);
试一下这个方法。但不是所有的机型都可以。。
要所有机型都自适应,必须要在server那边做判断!
4. android怎么按百分比规定控件的大小
你的意思是按屏幕尺寸百分比吗?那样的话需要在代码中动态调整大小。因为涉及到view绘制时间的问题,几句话也说不清楚,具体你可以分别网络“安卓开发 获取屏幕尺寸”、“安卓开发 动态调整控件大小”。要想设置正确,还需要对view的绘制机制了解下。希望能帮到你。
5. Android布局问题,每个控件宽度恰好平分屏幕,而高度是1:1的,这个是怎么做的
用android:layout_weight 如果又想让高度和宽一样的话,在代码里获得宽后再重设高
6. android如何设置图片自适应控件大小
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher"/>
宽度和高度使用fill_parent (填充父窗体)
fill_parent 可以使控件充满父控件,也就是你说的自动使用图片控件外的控件大小。
7. android中,如何点击一个按钮,控制一个已经存在的控件的高度宽度
点击事件你会把,这个就不说了,设置宽高
就是
button.setLayoutParams(new
LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
LayoutParams具体导入什么包就得看你外面用的是什么。
还有你说的循环添加监听那个,你首先几个按钮的id设置为
这种。。button1,button2...
for(int
i
=
0;
i
<
size;
i++){
Button
button
=
findViewById(R.id.button1
+
i);
button.setOnClickListener();
}
你这个
for(int
i=1;i<8;i++){
Button
heaterB=(Button)findViewById(R.id.heaterB+i);
地方错了
应该是
for(int
i=0;i<8;i++){
Button
heaterB=(Button)findViewById(R.id.heaterB1+i);
8. android 代码里怎么设置控件的宽度
在对应的控件中使用android:layout_width标签即可。
android:layout_width标签中可以使用match_parent常量使控件尺寸与其上级组件尺寸相同
可以使用wrap_content使控件尺寸刚好包裹住内容
也可以使用px(像素)、pt(磅)、dp(密度)、sp(可伸缩像素)作为单位,从而设置控件的宽度:
例如:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="one"
android:layout_gravity="right"/>
9. android如何获取控件宽度
用getWidth()方法,可以获取像素单位的宽度。
android的控件一般是继承的android.View这个类,所以可以直接用View#getWidth()方法获取控件宽度。另外这个方法是final方法,无法被子类覆盖,所以可以安心调用
10. 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一般是在加入容器中设置的,所以容易混淆所指定的布局属性究竟是保存在容器中,还是控件本身的属性,答案是控件本身。但是在设置时还是要注意布局属性与容器种类密切相关。