gpt4 book ai didi

java - 在 Java 代码中为 Android 添加按钮

转载 作者:太空狗 更新时间:2023-10-29 16:42:19 25 4
gpt4 key购买 nike

是否可以使用 Java 代码将按钮添加到 Activity 布局。如果这是可能的,怎么办?这是我当前的布局文件:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ad_catalog_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:orientation="vertical" >

<com.google.ads.AdView
xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
googleads:adSize="IAB_BANNER"
googleads:adUnitId="a14d7f7d2180609" />

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/menu_mods"
android:textColor="#FFFFFF"
android:textSize="25sp" />

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="enterPeacefulPack"
android:text="@string/peacefulpack"
android:paddingBottom="20dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:textColor="#FFFFFF"
android:textSize="25sp" />
</LinearLayout>
</ScrollView>

如果可能的话,我希望在 ScrollView 内部的 LinearLayout 中添加 Java 添加的按钮,但如果这不可能,也可以在普通的 LinearLayout 中获取它。

我之所以希望能够通过 Java 获取按钮,是因为我有一个包含多个对象的数组。对于每个对象,我都希望有一个按钮。这个数组的大小会随着时间的推移而增加。

这是我正在使用的 Activity 文件

package com.wuppy.minecraftmods.mods;

import android.annotation.SuppressLint;
import android.app.ActionBar.LayoutParams;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;

import com.google.ads.AdRequest;
import com.google.ads.AdView;
import com.wuppy.minecraftmods.R;

public class Mods extends Activity
{
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mods);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
{
getActionBar().setDisplayHomeAsUpEnabled(true);
}

AdView adView = (AdView) this.findViewById(R.id.ad);
adView.loadAd(new AdRequest());
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}

public void enterPeacefulPack(View view)
{
Intent intent = new Intent(this, ModPeacefulpack.class);
startActivity(intent);
}
}

所以我想通过 Java 添加按钮,因为我不能在 xml 中真正做到这一点。这可能吗?如果可能的话如何?

最佳答案

可以,在您的 XML 文件中为您的 LinearLayout 定义一个 id。让我们说:

android:id="@+id/buttonContainer"

然后在设置contentView后的Activity java代码中找到这个id:

LinearLayout buttonContainer = (LinearLayout) findViewById(R.id.buttonContainer);

然后创建您的按钮:

Button button = new Button();

根据提供的方法,根据需要自定义它。

最后将它添加到您的布局中:

buttonContainer.addView(button);

关于java - 在 Java 代码中为 Android 添加按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15741520/

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