我的布局分为很多部分。
我的问题是关于LinearLayout" container_center2"其中包含一组按钮。
当Button文本较长时,按钮大小会增加。
在XML布局下面:
<LinearLayout android:orientation="vertical" android:id="@id/container_center1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/container_top">
<TextView android:gravity="center" android:id="@id/tmr" android:layout_width="fill_parent" android:layout_height="wrap_content" style="?lightBackground" />
<TextView android:gravity="center" android:id="@id/txt" android:layout_width="fill_parent" android:layout_height="0.0dip" style="?noBackground" />
<WebView android:id="@id/webview" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/fieldImageForms"
android:layout_width="50dip"
android:layout_height="fill_parent"
android:src="@drawable/blank"
android:layout_marginLeft="3dip"
android:scaleType="center"/>
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/container_center2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false" android:weightSum="6.0" android:layout_below="@id/container_center1">
<LinearLayout android:orientation="vertical" android:id="@id/container_joker" android:layout_width="0.0dip" android:layout_height="fill_parent" android:weightSum="3.0" android:layout_weight="1.0">
<Button android:id="@id/joker1" android:layout_width="fill_parent" android:layout_height="0.0dip" android:text="@string/txt_joker1" android:layout_weight="1.0" />
<Button android:id="@id/joker2" android:layout_width="fill_parent" android:layout_height="0.0dip" android:text="@string/txt_joker2" android:layout_weight="1.0" />
<Button android:id="@id/joker3" android:layout_width="fill_parent" android:layout_height="0.0dip" android:text="@string/txt_joker3" android:layout_weight="1.0" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:id="@id/container_buttons" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="5.0">
<Button android:id="@id/btn1" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<Button android:id="@id/btn2" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<Button android:id="@id/btn3" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<Button android:id="@id/btn4" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:gravity="top|center" android:orientation="vertical" android:id="@id/container_ads" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/container_center2" />
正常文字时应用程序的截图: This what how i want the Buttons to be no matter the legnth of the text
当文字较大时应用程序的屏幕截图,这会使按钮按下广告容器: This is the case to prevent
这是每个按钮的编程布局更改:
android.widget.LinearLayout.LayoutParams layoutparams = new
android.widget.LinearLayout.LayoutParams(-1, -2);
layoutparams.setMargins(3, 3, 0, 3);
mBtn1 = (Button)findViewById(R.id.btn1);
mBtn1.setTextSize(0, 18F);
mBtn1.setPadding(5, 10, 5, 10);
mBtn1.setOnClickListener(btn1Handler);
mBtn1.setLayoutParams(layoutparams);
问题:我希望按钮更改为与第一个屏幕截图中的相同,并且如果按钮文本无法完全显示,则预示它会增长。
非常感谢提前。
答案 0 :(得分:0)
将以下内容添加到按钮
android:maxLines="1"
android:ellipsize="end"
答案 1 :(得分:0)
您可以通过将layout_height
XML属性更改为dp
等特定android:layout_height="32dp"
大小来阻止按钮的高度增加。
您还可以使用maxLines
XML属性限制按钮中文本占用的行数。例如android:maxLines="1"
。您可能还希望将其与android:ellipsize="end"
结合使用,这样如果文字不合适,那么最后会有...
。例如Very long text displ...