我正在尝试将三个字符串格式化为一个Android按钮。第一个字符串应该是按钮的大约30%,第二个应该是大约50%,其余的是第三个按钮。每个文本应该在一定长度内。我怎样才能做到这一点?
在搜索了许多可能的解决方案后,我想出的是创建3个不同的按钮并将它们组合在一起。这不是理想的,但它是一个开始。有更好的方法吗?
这是我到目前为止所尝试的:
Java:
LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout_buttons);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
Button addButton = new Button(this);
Button numPlayerButton = new Button(this);
Button lobbyButton = new Button(this);
Button locationButton = new Button(this);
ll.addView(addButton, lp);
ll.addView(numPlayerButton, lp);
ll.addView(lobbyButton, lp);
ll.addView(locationButton, lp);
XML:
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/linearlayout_buttonlist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearlayout_buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!-- THIS IS WHERE THE BUTTONS GO!!!!!! -->
</LinearLayout>
</LinearLayout>
</ScrollView>
我使用此代码的目标是使用内部线性布局水平创建按钮,我认为外部线性布局将在下一行(垂直)上创建下一次按钮迭代。我通过循环以编程方式创建了按钮。
答案 0 :(得分:1)
如果要单击窗口小部件然后执行某些操作(如按钮那样),则可以使用布局并向其添加onClickListener。在此布局中,您可以根据需要添加字符串。
简单地这样做:
对于Java部分:
RelativeLayout ThreeStringLayout = (RelativeLayout) view.findViewById(R.id.three_string_layout);
ThreeStringLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view1) {
//do things here
}
});
我在Fragment中实现了它,如果你在Activity中使用它,你需要修改它。 祝你好运。
答案 1 :(得分:0)
使用标准的Android按钮(我知道)无法实现。您必须使用带有textviews的线性布局。我可以解释一下,如果需要帮助,这将如何起作用