我有一个名为RelativeLayout
的{{1}},我将其发表意见。当我尝试current_layout
时,不会显示任何内容。但是,添加addView(TextView)
时,它可以正常工作。为什么我的ImageView
没有显示?
TextView
我也在黑色背景上添加了public static void draw_shard(int x, int y, int amount_collected){//X and Y are GAMESURFACE values. Needs to increment by gamesurface y.
ImageView shard = create_iv(); // Creates a new instance of an ImageView (parameter is the context of MainActivity)
shard.setBackgroundDrawable(shard_icon);
shard.setX(x);
shard.setY(y+ImageLoader.get_score_bar_height());
TextView tv = new TextView(MainActivity.current_context);
tv.setX(shard.getX() + shard.getWidth());
tv.setY(shard.getY());
tv.setTypeface(Variables.joystix);
tv.setTextSize(shard.getHeight());
tv.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
tv.setText("+" + amount_collected);
tv.setTextColor(Color.WHITE);
current_layout.addView(shard);
current_layout.addView(tv);
}
。
答案 0 :(得分:1)
问题在于shard.getWidth()
和shard.getHeight()
,它们返回0.
答案 1 :(得分:0)
另一种简单的方法是:
在布局文件中添加TextView
并将其可见性设置为已消失,当您需要显示TextView
时,只需更改TextView
的可见性。
XML
文件的示例代码:
<TextView
android:id="@+id/textview"
android:layout_height="wrap_content"
android:layout-width="wrap_content"
android:visibility="gone">
<!-- Add other attributes too -->
当您需要TextView
时,请添加以下代码:
findViewById("textview").setVisibility(View.VISIBLE);
findViewById("textview").setText("" + amount_collected);
答案 2 :(得分:0)
但是为什么要使用java代码添加TextView
?
您可以轻松地使用XML进行操作。
<TextView
android:layout_width="wrap_content"
android:id="@+id/textView"
android:layout_height="wrap_content"
android:text="Hello World!"
android:background="@color/colorPrimary"
android:textColor="@color/colorPrimary" />
答案 3 :(得分:0)
// Create LinearLayout
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.HORIZONTAL);
// Create TextView
TextView product = new TextView(this);
product.setText(" Product");
ll.addView(product);
请试试。
答案 4 :(得分:0)
它将帮助您了解
LinearLayout linearLayout = new LinearLayout(this);
setContentView(linearLayout);
linearLayout.setOrientation(LinearLayout.VERTICAL);
TextView textView = new TextView(this);
textView.setText("Your Text that you want to add");
linearLayout.addView(textView);
谢谢