Android - 在代码中应用9补丁

时间:2012-02-19 19:09:24

标签: java android nine-patch

如何将9补丁应用于Android TextView IN CODE?

为什么,你可能会问?因为我需要动态设置控件的数量。

我尝试做类似的事情而且不起作用:

(我的代码中的9个补丁“notif_bubble_white.9.png”是R.drawable.notif_bubble_white)

  tv = new TextView(this); 
  tv.setText("Test Message"); 
  tv.setLayoutParams(lpL); 
  tv.setPadding(0, 0, paddingValue, 0); 
  CustomFonts.ApplyFont_Custom1(tv, context); 
  tv.setBackgroundResource(R.drawable.notif_bubble_white); 
  // tv.setTextColor(TxtColFromCl); 
  layout.addView(tv); 

其中lpL定义为:

  LinearLayout.LayoutParams lpL = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
        LinearLayout.LayoutParams.WRAP_CONTENT); 

1 个答案:

答案 0 :(得分:0)

您可以一次创建所有控件并使用control.setVisibility(View.GONE)隐藏它们直到需要,或者,如果控件数量未知,您可以膨胀布局文件,如this question中所述

从引用的问题复制的代码(信用证到Cedric,或Pentium10,idk,并假设控制是一个按钮):

button.xml:

<Button
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/button01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

给按钮充气:

button = (Button) getLayoutInflater().inflate(R.layout.button, null);