Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过编程更改文本视图的高度和宽度_Android_Layoutparams - Fatal编程技术网

Android 通过编程更改文本视图的高度和宽度

Android 通过编程更改文本视图的高度和宽度,android,layoutparams,Android,Layoutparams,我有一个文本视图,我想更改宽度以匹配父对象,并更改高度以保留换行内容。它嵌套在水平线性布局中。它是三个文本视图中的第二个,每个文本视图的权重为1。当运行此特定片段时,它会将其他两个按钮设置为 previousButton.setVisibility(View.GONE); nextButton.setVisibility(View.GONE); 文本视图 <TextView android:id="@+id/home"

我有一个文本视图,我想更改宽度以匹配父对象,并更改高度以保留换行内容。它嵌套在水平线性布局中。它是三个文本视图中的第二个,每个文本视图的权重为1。当运行此特定片段时,它会将其他两个按钮设置为

previousButton.setVisibility(View.GONE);
nextButton.setVisibility(View.GONE);
文本视图

           <TextView
                android:id="@+id/home"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="HOME"
                android:layout_weight="1"
                android:background="@drawable/button_selector"
                android:layout_marginLeft="10dp"
                android:layout_marginBottom="10dp"
                android:padding="10dp"
                android:gravity="center"
                android:textColor="#000000"
                android:textStyle="bold"
                android:onClick="home"
                />
当我运行它时,我得到一个错误:

java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

您的TextView父布局是什么?线性,相对还是什么? 线性布局的示例:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
homeButton.setLayoutParams(params);

必须基于其父布局创建参数。

什么是TextView父布局?线性,相对还是什么? 线性布局的示例:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
homeButton.setLayoutParams(params);

必须基于其父布局创建参数。

假设父布局为
线性布局

LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
homeButton.setLayoutParams(layoutParam);

假设您的父母是
线性布局

LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
homeButton.setLayoutParams(layoutParam);

您已经给出了布局\u width=“0dp”和布局\u weight=“1”。所以,当其他两个按钮隐藏时。此主页按钮将全宽显示。但是View.INVISIBLE不会将它们从获取宽度中移除。您应该使用View.GONE,这样即使它们不可见,也不应采用宽度

无形的:

 This view is invisible, but it still takes up space for layout purposes.
走了:


您不需要在Home TextView上再次设置布局参数。

您已经给出了布局\u width=“0dp”和布局\u weight=“1”。所以,当其他两个按钮隐藏时。此主页按钮将全宽显示。但是View.INVISIBLE不会将它们从获取宽度中移除。您应该使用View.GONE,这样即使它们不可见,也不应采用宽度

无形的:

 This view is invisible, but it still takes up space for layout purposes.
走了:


您不需要在Home TextView上再次设置布局参数。

错误非常明显。您不能将
视图组
强制转换为
线性布局
。所以我假设您的
TextView
的父布局是
线性的
?错误是相当明显的。您不能将
视图组
强制转换为
线性布局
。因此,我假设您的
TextView
的父布局是
线性的
?开发人员已经以编程方式使用了View.GONE属性开发人员已经以编程方式使用了View.GONE属性