【发布时间】:2014-08-23 18:05:41
【问题描述】:
我的按钮布局如下
<Button
android:id="@+id/Button01"
android:layout_width="420px"
android:layout_height="120px"
android:background="@drawable/butt1"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:onClick="clk_fault"
android:text="Enter Fault"
android:textColor="#FFFF00"
android:layout_marginTop="100px"
android:textSize="50px" />
当活动开始时,我运行代码获取显示宽度,然后根据设备的分辨率调整按钮大小
一切正常,但文字大小始终保持不变
有没有办法根据包含文本的按钮的大小来增加文本大小?
当按钮宽度为 420 像素时,50 像素很棒,但如果按钮宽度只有 200 像素,我需要能够减小文本大小,以便无论大小看起来都一样
任何帮助表示赞赏
标记
编辑
请求的活动代码
public void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
getWindow().setFormat(PixelFormat.RGBA_8888);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);
setContentView(R.layout.activity_activity1);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int h = metrics.heightPixels;
int w = metrics.widthPixels;
int w1 = (w/2);
Button txt1 = (Button) findViewById(R.id.Button01);
txt1.setLayoutParams(new LinearLayout.LayoutParams(w1, 100));
setMargins(txt1, 0, 100, 0, 0);
}
public static void setMargins (View v, int left, int top, int right, int bottom) {
if (v.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
p.setMargins(left, top, right, bottom);
v.requestLayout();
}
}
【问题讨论】:
-
显示您为按钮实现的代码
标签: android button dynamic size