gpt4 book ai didi

java - 我想以编程方式向我的 android 按钮添加多个字符串(不是通过 XML)

转载 作者:行者123 更新时间:2023-12-01 11:03:12 25 4
gpt4 key购买 nike

我正在尝试将三个字符串格式化为一个 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>

我使用这段代码的目标是使用内部线性布局水平创建按钮,并且我认为外部线性布局将在下一行(垂直)上创建按钮的下一个迭代。我通过循环以编程方式创建了按钮。

最佳答案

如果您想单击某个小部件然后执行某些操作(就像按钮一样),您可以使用布局并向其添加 onClickListener。在此布局中,您可以根据需要添加字符串。

简单地这样做:

  1. 在 XML 中编写一个relativelayout并为其指定一个id。
  2. 在RelativeLayout中添加三个textView并根据需要放置它们。
  3. 在Java中注册这个RelativeLayout并向其添加一个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中使用需要修改。祝你好运。

关于java - 我想以编程方式向我的 android 按钮添加多个字符串(不是通过 XML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33181926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com