所以我在android / java中有这个TextView
,我想沿着它所在的水平轴随机定位。这是我到目前为止的代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<View
android:layout_width="100dp" //This is the width I want to randomize
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/n5"/>
我的目标是,通过随机化100dp
行中的android:layout_width=
,我可以将TextView
移动一定的随机数量。有谁知道怎么做?
谢谢!
答案 0 :(得分:0)
直接回答你的问题:
1.给视图一个id
<View android:id="@+id/picture_stream"
android:layout_width="100dp"
android:layout_height="wrap_content" />
2。在onCreate中以编程方式更改宽度:
...
View view_instance = (View)findViewById(R.id.nutrition_bar_filled);
LayoutParams params=view_instance.getLayoutParams();
params.width=newOne; //use Math.random() to create the value.
view_instance.setLayoutParams(params);
另见"view layout width - how to change programmatically"。
你也可以使用margin / padding而不是用另一个视图“推”它。
答案 1 :(得分:0)
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/movingTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/n5"/>
</LinearLayout>
将TextView设置为水平线性布局中的唯一项目,然后以编程方式为textview设置随机左边距。
TextView movingTextView = (TextView) this.findViewById(R.id.movingTextView);
movingTextView.setPaddingRelative((int) 1+Math.random()*100,0,0,0);