精华内容
下载资源
问答
  • 在RelativeLayout中动态设置LinearLayout高度/宽度
    2021-06-04 16:15:58

    我在RelativeLayout中有一个linearLayout。我需要能够根据屏幕尺寸动态设置线性布局的高度。我有一些困难。 我怎么能做到这一点?在RelativeLayout中动态设置LinearLayout高度/宽度

    MAIN:

    public class MainActivity extends Activity {

    LinearLayout L;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    L=(LinearLayout)findViewById(R.id.top);

    L.setLayoutParams(new LinearLayout.LayoutParams(1080, 400));

    }

    }

    XML:

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity" >

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:background="#fff"

    android:id="@+id/top"

    android:orientation="horizontal" >

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="@string/hello_world" />

    2014-03-05

    Samantha

    +0

    有什么难度/问题? –

    +0

    @JustinJasmann我得到这个错误-java.lang.ClassCastException:android.widget.LinearLayout $ LayoutParams不能转换为android.widget.RelativeLayout $ LayoutParams at android.widget.RelativeLayout $ DependencyGraph.findRoots(RelativeLayout.java:1722) –

    更多相关内容
  • 我试图将父布局设置为具有最小高度,但它似乎仍然包含在内容中.这是现在的样子.空白区域的最小高度应该大于现在的最小高度.以下是我认为xml的相关部分:android:id="@+id/contactViewScrollView"android:layout_width...

    我有一个带有白色背景的LinearLayout,里面装满了一堆LinearLayouts和RelativeLayouts.我试图将父布局设置为具有最小高度,但它似乎仍然包含在内容中.

    这是现在的样子.空白区域的最小高度应该大于现在的最小高度.

    以下是我认为xml的相关部分:

    android:id="@+id/contactViewScrollView"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:background="#ABABAB" >

    android:layout_width="match_parent"

    android:layout_height="300dip"

    android:background="#FFFFFF"

    android:orientation="vertical" >

    android:id="@+id/contactHeader"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:background="#EDEDED"

    android:paddingLeft="10dp" >

    android:id="@+id/fullName"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_marginRight="175dip"

    android:paddingTop="5dp"

    android:textSize="18sp" />

    android:layout_width="1dp"

    android:layout_height="90dp"

    android:layout_toLeftOf="@+id/image"

    android:background="#000000" />

    android:id="@+id/image"

    android:layout_width="90dp"

    android:layout_height="90dp"

    android:layout_alignParentRight="true"

    android:background="#D6D6D6"

    android:contentDescription="@string/contact_image_description"

    android:scaleType="centerCrop" />

    android:layout_width="fill_parent"

    android:layout_height="1dp"

    android:background="#000000" />

    android:id="@+id/mobile"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:orientation="vertical"

    android:paddingLeft="10dp" >

    android:id="@+id/mobilePhoneHeading"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:paddingTop="15dp"

    android:text="@string/mobile_phone"

    android:textColor="#787878" />

    android:id="@+id/mobilePhone"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:paddingBottom="10dp"

    android:paddingTop="2dp"

    android:textSize="18sp" />

    …以及许多其他LinearLayouts,都以编程方式设置为’GONE’.

    有人可以建议修复吗?我无法弄清楚为什么白色部分占用的空间如此之小.

    解决方法:

    // try this

    android:id="@+id/contactViewScrollView"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:background="#ABABAB" >

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    android:layout_width="match_parent"

    android:layout_height="300dp"

    android:background="#FFFFFF"

    android:orientation="vertical" >

    android:id="@+id/contactHeader"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:background="#EDEDED"

    android:paddingLeft="10dp" >

    android:id="@+id/fullName"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_marginRight="175dp"

    android:paddingTop="5dp"

    android:textSize="18sp" />

    android:layout_width="1dp"

    android:layout_height="90dp"

    android:layout_toLeftOf="@id/image"

    android:background="#000000" />

    android:id="@+id/image"

    android:layout_width="90dp"

    android:layout_height="90dp"

    android:layout_alignParentRight="true"

    android:background="#D6D6D6"

    android:contentDescription="contact_image_description"

    android:scaleType="centerCrop" />

    android:layout_width="fill_parent"

    android:layout_height="1dp"

    android:background="#000000" />

    android:id="@+id/mobile"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:orientation="vertical"

    android:paddingLeft="10dp" >

    android:id="@+id/mobilePhoneHeading"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:paddingTop="15dp"

    android:text="mobile_phone"

    android:textColor="#787878" />

    android:id="@+id/mobilePhone"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:paddingBottom="10dp"

    android:paddingTop="2dp"

    android:textSize="18sp" />

    标签:android,xml,background,android-linearlayout

    来源: https://codeday.me/bug/20190831/1775529.html

    展开全文
  • ============问题描述============ ... 我想把这个LinearLayout宽度设置成为FILL_PARENT,源码如下 LinearLayoutcheckboxLinearLayout=(LinearLayout)getLayoutInflater().inflate(R.layout.checkboxdoitem...

    ============问题描述============


    我想把这个LinearLayout宽度设置成为FILL_PARENT,源码如下
    LinearLayout checkboxLinearLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.checkboxdoitem, null);
    LayoutParams params= (LayoutParams) checkboxLinearLayout.getLayoutParams();
    params.width=LayoutParams.FILL_PARENT;  
    checkboxLinearLayout.setLayoutParams(params);
    红色处报错,log是下图

    ============解决方案1============


    params 为空?

    ============解决方案2============


    params为空值,没获取到

    ============解决方案3============


     checkboxLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));

    还不如写在xml里呢

    转载于:https://www.cnblogs.com/llj1985522/p/4038850.html

    展开全文
  • 原标题:Android中最简单最常用的LinearLayout线性布局良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认为RelativeLayout相对布局,而在前面的示例学习中...

    原标题:Android中最简单最常用的LinearLayout线性布局

    良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认为RelativeLayout相对布局,而在前面的示例学习中,我们只是简单利用了一下LinearLayout线性布局,那么接下来分别对其进行详细学习。

    93efd73cc19710fa5aaccd2d9e973ba8.png

    一、认识LinearLayout

    线性布局是Android中较为常用的布局方式,使用LinearLayout标签。线性布局主要有两种形式,一种是水平线性布局,一种是垂直线性布局。需要注意的是Android的线性布局不会换行,当组件一个挨着一个地排列到头之后,剩下的组件将不会被显示出来。

    下表显示了LinearLayout支持的常用XML属性及相关方法的说明。

    6e9f0441f388790b64b31184f368bfab.png

    LinearLayout 包含的所有子元素都受 LinearLayout.LayoutParams 控制,因此 LinearLayout包含的子元素可以额外指定如如下属性。

    android:layout_gravity:指定该子元素在LinearLayout中的对齐方式。

    android:layout_weight:指定该子元素在LinearLayout中所占的权重。

    二、LinearLayout详解

    接下来分别从方向、填充模型、权重、对齐、内边距、外边距几个方面来进一步学习LinearLayout 的使用,当然其中一部分也适用于后续布局文件。 1、方向

    通过“android:orientation”属性设置线性布局的方向,将值设置为horizontal表示行,设置为vertical表示列,默认为horizontal。

    接下来通过一个简单的示例程序来学习LinearLayout 的使用用法。

    同样使用WidgetSample工程,继续使用app/main/res/layout/目录下的activity_main.xml文件,在其中填充如下代码片段:

    00af2f456e6554f876f64c17c91d01bc.png

    运行程序,可以看到下图左侧所示界面效果。

    634db038dbf6d07d60ca4a5521da7e3c.png

    将上面的布局文件activity_main.xml里面的android:orientation属性值修改为horizontal,重新运行程序,可以看到上图右侧所示界面效果。 2、填充模型

    在学习UI界面通用属性和方法时,就接触过android:layout_width和android:layout_height两个属性。就由这两个属性控制LinearLayout 的填充模型。

    android:layout_width:设置LinearLayout 的宽度。

    android:layout_height:设置LinearLayout 的高度。

    这两个值的属性值也有多种取值方式,同前面一样,此处不做赘述。 3、权重

    从前面的水平布局图中看到五个按钮并不是平均占据屏幕宽度,如果需要这五个组件平均占据屏幕宽度,就需要使用到权重,可以通过设置android:layout_weight为相应部件分配空间比例。

    将上面的示例程序的布局文件修改一下,如下所示:

    533148b02a24d538d19833d09308dba0.png

    重新运行程序,可以看到下图 所示界面效果。

    ef0b923fab07b8f8f934a5d35a29dd89.png

    从上面的程序发现,需要使用layout_weight的视图组件,要根据LinearLayout的orientation属性值将对应的宽度或高度设置为0dp。如果orientation属性值为vertical,layout_weight指宽度,反之为高度。

    继续修改布局文件,具体代码如下所示:

    6c2b378c0622c60d4bc77d807025579d.png

    重新运行程序,可以看到下图所示界面效果。

    ede265b501b9e31cb70d7e530809fc93.png

    从上图可以看到,在LinearLayout中首先为没有设置layout_weight属性的组件分配空间,然后根据各个视图组件layout_weight属性的值所占比例来分配剩余空间。

    以上练习的是水平方向的权重,在垂直方向同理。需要注意的是:layout_weight只能在LinearLayout线性布局中使用,而且只能在LinearLayout中的直接子元素中使用。

    到此,LinearLayout线性布局的方向、填充模型和权重已经学习完成,你都掌握了吗?由于内容较多,下一期继续学习LinearLayout线性布局的对齐。

    今天就先到这里,如果有问题欢迎留言一起探讨,也欢迎加入Android零基础入门技术讨论微信群,共同成长!

    此文章版权为微信公众号分享达人秀(ShareExpert)——鑫鱻所有,若转载请备注出处,特此声明!

    往期总结分享:

    第1节:Android的前世今生

    第2节:Android 系统架构和应用组件那些事

    第3节:带你一起来聊一聊Android开发环境

    第4节:正确安装和配置JDK

    第5节:善用ADT Bundle

    第6节:配置优化SDK Manager

    第7节:搞定Android模拟器

    第8节:HelloWorld,我的第一趟旅程出发点

    第9节:Android实战,不懂代码也可以开发

    第10节:开发IDE迎来Android Studio

    第11节:运行Android Studio工程

    第12节:熟悉Android Studio界面

    第13节:Android Studio配置优化

    第14节:使用高速Genymotion

    第15节:掌握Android Studio项目结构

    第16节:Android用户界面开发概述

    第17节:TextView属性和方法大全

    第18节:EditText的属性和使用方法

    第19节:Button使用详解

    第20节:CheckBox和RadioButton使用大全

    第21节:ToggleButton和Switch使用大全

    第22节:ImageView的属性和方法大全

    第23节:ImageButton和ZoomButton使用

    第24节:自定义View简单使用返回搜狐,查看更多

    责任编辑:

    展开全文
  • 实例如下: WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE);... LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mLinearLayoutTrafficControl.get
  • 在代码中设置linearLayout高度

    千次阅读 2013-06-21 15:24:47
    今天要在代码中设置一下linearLayout高度。磨了头天,搞出以下方法。 LinearLayout layout = (LinearLayout) findViewById(R.id.column_subscribe_layout);//获取对象 LinearLayout.LayoutParams lParams = new ...
  • 如何在代码中设置LinearLayout高度

    万次阅读 2013-10-30 15:36:36
    如何在代码中设置LinearLayout高度 main.xml声明 android:id="@+id/context" android:layout_width="match_parent" android:layout_h
  • 在apkbus上看到的一个问题,之前也遇到过,后来便不了了之。... 上面代码中将中间LinearLayout的android:layout_weight设置为1,也就等于中间的LinearLayout占据了剩下的所有空间,很好了解决的layout中高度的问题。
  • layout=(LinearLayout) findViewById(R.id.llayout_txt_bg); WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth();//屏幕宽度...
  • ![图片说明](https://img-ask.csdn.net/upload/201710/26/1509017641_578281.png)
  • 所以我的想法是,在我的布局中我没有看到一些隐含的最大高度,但我看不到它在哪里,你能发现我的错误吗?android:layout_width="fill_parent"android:layout_height="wrap_content">android:layout_width="fill_...
  • LinearLayout是否具有最大高度?與centerCrop佈局這是一個沒有作物設置佈局(所以它應該是全寬和巨大) http://tinypic.com/r/vzk7kw/5所以我的想法是,有一些隱式的最大高度,我沒有看到我的佈局,但我不明白它在哪裏...
  • LinearLayout修改高度

    2020-08-10 13:57:17
    int hh = ScreenUtils....LinearLayout linearLayout = findViewById(R.id.surfaceView_LinearLayout); ViewGroup.LayoutParams lp=linearLayout.getLayoutParams(); lp.height=hh; linearLayout.setLayoutParams(lp);
  • 关于LinearLayout高度问题

    千次阅读 2018-04-11 18:42:50
    问题:LinearLayout高度到底由谁决定? 看源码,吐槽一下自己,我为什么不看源码呢?傻吗?找到LinearLayout的onMeasure()方法 @Override protected void onMeasure(int widthMeasureSpec, int ...
  • LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。有的时候,我们需要想获取LinearLayout宽高,下面...
  • 线性布局LinearLayout设置分割线divider

    千次阅读 2022-04-15 16:40:41
    目录一、线性布局LinearLayout设置分割线divider总结 一、线性布局LinearLayout设置分割线divider 上代码: <LinearLayout android:id="@+id/fl_tag" android:layout_width="wrap_content" android:layout_...
  • Android LinearLayout 实现 高度动画

    千次阅读 2019-04-04 12:04:08
    实现LinearLayout高度动画功能 效果 代码 布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match...
  • 我试图动态地改变线性布局或任何其他小部件的宽度或高度,但抛出异常。我的布局是:android:id="@+id/abc"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"&...
  • 设置LinearLayout的宽和高

    千次阅读 2020-04-15 10:09:22
    其实很简单,只不过不明白为什么要这么复杂才能设置LinearLayout mainLayout = findViewById(R.id.MainLayout); ViewGroup.LayoutParams lp; lp = mainLayout.getLayoutParams(); lp.width = 200; lp.he...
  • WindowManager wm = ...注解:先获取屏幕宽度,通过屏幕宽度获取布局的高度。  density:是默认密度 private float density = 1.5f;   转载于:https://www.cnblogs.com/niupi/p/5690734.html
  • match_parent,wrap_content,固定高度都不合适。
  • 我们继承LinearLayout,准备重写onMeasure方法 class AdaptiveLinearLayout @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0, defStyleRes: Int = 0) : ...
  • 1.设置两个1:1横向布局的TextView LinearLayout.LayoutParams horizontalScale = new LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT, 1);//设置横向占比 LinearLayout horizontalView = ...
  • // 通过LayoutParams、setLayoutParams设置linearlayout高度为“800”。 lnout=(LinearLayout) findViewById(R.id.lnout); LayoutParams para; para = lnout.getLayoutParams(); para.height=800; lnout....
  • 我们如果把子控件的width设为0dp的话那么我们可以通过设置android:layout_weight=“n”的方式来设置控件占布局的比例另外 我们也可以一个是使用weight一个不适用这样 另外一个 比如我们这里的按钮 还是保留原来的...
  • 视图的背景根据视图的大小拉伸.ImageView支持图像缩放,要与LinearLayout一起使用,您需要一个额外的容器,它将覆盖2个子节点(例如FrameLayout):xmlns:android=...
  • android开发layout按比例布局(详解)

    千次阅读 2021-05-26 14:51:50
    释放双眼,带上耳机,听听看~!由于Android的复杂性,在写...为了创建比例大小的子View,可以将LinearLayout的宽度和高度设为fill_parent, 而将子View的宽度或是高度设为0,然后为子View设置不同权重(weight) ,这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,411
精华内容 15,364
关键字:

linearlayout设置高度