android动态添加标签,android – 动态添加Textview
在布局文件中,我有以下內容:
android:layout_width="100dp"
android:layout_height="wrap_content" android:layout_marginRight="10dp"
android:text="SYN"
android:textAppearance="?android:attr/textAppearanceMedium"
android:background="@drawable/rectanglepurple"
android:textColor="#000000"
android:gravity="right"/>
我試圖使用代碼實現以下目標,到目前為止我有:
Resources res = getResources();
Drawable drawable1=res.getDrawable(R.drawable.rectanglepurple);
TextView idText = new TextView(getActivity());
idText.setText("SYN");
idText.setTextAppearance(getActivity(), android.R.style.TextAppearance_Medium);
idText.setTextColor(Color.BLACK);
idText.setGravity(Gravity.RIGHT);
idText.setBackgroundDrawable(drawable1);
我不能鍛煉如何處理
android:layout_width="100dp"
android:layout_height="wrap_content" android:layout_marginRight="10dp"
任何幫助贊賞.
解決方法:
這是Android布局的一個有趣部分.以layout_為前綴的XML屬性實際上用于包含視圖管理器(如LinearLayout或RelativeLayout).所以你需要添加這樣的東西:
//convert from pixels (accepted by LayoutParams) to dp
int px = convertDpToPixel(100, this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(px, LinearLayout.LayoutParams.WRAP_CONTENT);
//convert from pixels (taken by LayoutParams.rightMargin) to dp
px = convertDpToPixel(10, this);
params.rightMargin = px;
idText.setLayoutParams(params);
并且convertDpToPixel(無恥地適應(改為返回int而不是float)從Converting pixels to dp):
/**
* This method converts dp unit to equivalent device specific value in pixels.
*
* @param dp A value in dp(Device independent pixels) unit. Which we need to convert into pixels
* @param context Context to get resources and device specific display metrics
* @return An integer value to represent Pixels equivalent to dp according to device
*/
public static int convertDpToPixel(float dp, Context context) {
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
int px = (int) (dp * (metrics.densityDpi / 160f));
return px;
}
編輯:將分配更改為rightMargin從10(像素數)更改為變量px(包含10dp中的像素數)whoopsie.
標簽:android,android-layout,android-textview
來源: https://codeday.me/bug/20190729/1570877.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的android动态添加标签,android – 动态添加Textview的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 步进电机红外遥控C语言程序,单片机红外遥
- 下一篇: android自定义相机预览尺寸,相机在