private void setListPath(Context context, RelativeLayout footerRelativeLayout, String ButtonText) {
if (flagAddFooterGuide) {
// 我的音乐按钮
ImageView myMusic = new ImageView(context);
myMusic.setImageResource(R.drawable.style1_mymusic);
myMusic.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
((MyMusicActivity) myContext).setSdCardFlag(false);
((MyMusicActivity) myContext).onCreate(null);
}
});
myMusic.setId(1); // 设置ID为1
ImageView myStorage = new ImageView(context);
myStorage.setImageResource(R.drawable.style1_mymusic_usbstore);
myStorage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 设置ListView为显示
((MyMusicActivity) myContext).setlistViewLinearLayoutVisible(false);
// GalleryVisible为隐藏
((MyMusicActivity) myContext).setGalleryVisible(true);
}
});
myStorage.setId(2); // 设置id为2
// 设置本地当前目录的按钮
MyImageButton myImageButtonFolderNow = new MyImageButton(context, R.drawable.style1_mymusic_details, ButtonText);
RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lp1.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lp2.addRule(RelativeLayout.RIGHT_OF, 1);//在控件ID为1的控件的右边
RelativeLayout.LayoutParams lp3 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lp3.addRule(RelativeLayout.RIGHT_OF, 2);
footerRelativeLayout.addView(myMusic, lp1);
footerRelativeLayout.addView(myStorage, lp2);
// 播放按钮
MyImageButton myImageButtonPlay = new MyImageButton(context, R.drawable.mymusic_button_pause_backgroud, "播放");
footerRelativeLayout.addView(myImageButtonFolderNow, lp3);
myImageButtonPlay.setId(4);
RelativeLayout.LayoutParams lp4 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lp4.addRule(RelativeLayout.LEFT_OF, 5);
// 随机按钮
MyImageButton myImageButtonPlayRandom = new MyImageButton(context, R.drawable.mymusic_button_play_random, "随机开");
myImageButtonPlayRandom.setId(5);
RelativeLayout.LayoutParams lp5 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lp5.addRule(RelativeLayout.LEFT_OF, 6);
// 歌词按钮
MyImageButton myImageButtonLyric = new MyImageButton(context, R.drawable.mymusic_button_lyric, "LRC歌词");
myImageButtonLyric.setId(6);
RelativeLayout.LayoutParams lp6 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lp6.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
// 加入
footerRelativeLayout.addView(myImageButtonLyric, lp6);
footerRelativeLayout.addView(myImageButtonPlayRandom, lp5);
footerRelativeLayout.addView(myImageButtonPlay, lp4);
flagAddFooterGuide = false;
案例:
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
btn = new Button(this);
btn.setId(101);
btn.setText("test looper");
btn.setOnClickListener(this);
LinearLayout.LayoutParams param =
new LinearLayout.LayoutParams(100,50);
param.topMargin = 10;
layout.addView(btn, param);
btn2 = new Button(this);
btn2.setId(102);
btn2.setText("exit");
btn2.setOnClickListener(this);
layout.addView(btn2, param);
tv = new TextView(this);
tv.setTextColor(Color.WHITE);
tv.setText("");
//其中 FP 是final int FP=LinearLayout.LayoutParams.FILL_PARENT;
//final int WC = LinearLayout.LayoutParams.WRAP_CONTENT;
LinearLayout.LayoutParams param2 =
new LinearLayout.LayoutParams(FP, WC);
param2.topMargin = 10;
param2.setMargins(0, 0, 5, 0); //参数分别是(int left, int top, int right, int bottom)
layout.addView(tv, param2);
setContentView(layout);
分享到:
相关推荐
动态添加控件通常涉及在这些布局中进行操作。 1. **动态添加控件**: - **使用LayoutInflater**:Android提供了LayoutInflater服务,可以将XML布局文件中的视图转换为运行时的对象。首先,我们需要通过`...
总结一下,Java代码动态生成控件是Android开发中的一个重要技巧,它提供了构建灵活、可扩展用户界面的能力。通过理解并实践这个技术,开发者可以创建更符合用户需求的应用,同时减少对XML布局文件的依赖。
通过`java.awt.*`包中的类,我们可以动态地创建和添加控件。例如,你可以使用`Button`类创建一个按钮,如下所示: ```java import java.awt.Button; import java.awt.Frame; public class DynamicButton { public...
这个"Android高级应用源码-java代码动态生成控件.zip"文件可能包含了一些示例代码,展示了如何在Java代码中动态创建和管理Android UI组件。下面我们将深入探讨这一主题。 1. **动态创建控件的基本步骤**: - 首先...
这通常通过Java代码或者Kotlin代码来完成,而不是在XML布局文件中预先定义。这样做的好处是可以减少应用资源的占用,同时增加布局的动态性和适应性。例如,当应用需要根据用户操作或网络数据动态改变界面时,动态...
动态添加控件是通过Java代码来实现的,而非在XML布局文件中预先定义。下面我们将详细探讨如何在安卓应用中实现动态添加子项(控件)。 首先,了解基础概念: 1. **控件(Widgets)**:在安卓系统中,控件是用户界面...
动态添加控件指的是在程序运行时,根据需要通过代码创建并添加到布局中的控件,而不是在XML布局文件中预先定义。这种方法使得开发者能够灵活地调整界面,适应不同的数据集或用户交互。以下是对这一主题的详细探讨: ...
这个"Android高级应用源码-java代码动态生成控件.rar"的压缩包很可能包含了若干示例代码,展示了如何在Java代码中动态创建和操作Android UI控件。 动态生成控件的基础在于Android的View类及其子类,如Button、...
其实程序有很多可以改进的地方,我也只是做着玩玩,没有深究,如果大家有兴趣,再添加几个控件,将JPanel也实现了,可以让控件放入JPanel中,JPanel再放入JPanel中,那就好玩了,菜单栏的控件我没做,哈哈,复杂...
2. **编程语言**:动态添加控件的操作通常基于某种编程语言,如C#、Java、Python或JavaScript。这些语言提供了创建和操作控件的方法和API。 3. **容器**:在界面上添加控件需要一个容器,如窗体(Form)、布局...
在Java编程语言中,生成自定义控件源代码是一项关键任务,这允许开发者根据特定需求创建独特的用户界面元素。自定义控件可以扩展标准库中的组件,提供更丰富的功能、更美观的外观或者更高的可定制性。下面我们将深入...
在压缩包的"swing 时间控件"中,可能包含了实现这些功能的示例代码、源文件或资源文件,可以帮助开发者快速理解和集成这些日期时间选择控件到自己的Swing应用中。通过研究这些文件,开发者可以学习如何自定义日期...
1. **导入DatePicker库**:首先,在Java代码中导入DatePicker的相关类。如果你使用的是`datepicker.jar`,你需要确保在编译和运行时,这个库已经包含在类路径中。 ```java import com.toedter.calendar.JDatePicker...
在Android开发中,动态添加布局文件是一项常见的需求,...通过这个简单的“动态添加布局文件的demo”,你可以了解到Android中动态操作布局的强大功能。熟练掌握这项技能,将使你的应用在设计和功能上具有更高的灵活性。
1. **创建Button对象**:在Java代码中,我们可以使用`new Button(context)`来创建一个新的Button实例。这里的`context`通常为Activity或Fragment的上下文。 2. **设置属性**:可以通过调用Button对象的各种方法来...
4. **添加到布局**:通过调用布局容器的`addView()`方法将控件添加到布局中。例如,`linearLayout.addView(button);`。 5. **动态循环添加**:在某些情况下,你可能需要根据数据集动态生成多个控件。可以遍历数据...
SWT使用JNI(Java Native Interface)来实现这一目标,它允许Java代码直接调用操作系统提供的API,从而避免了Java AWT和Swing中的“重量级”组件带来的性能问题。 ### 2. 自定义控件的基础 在SWT中,自定义控件通常...
这主要通过Java代码来完成。 1. **动态添加控件**: - **LinearLayout**: 如果你的布局是线性的(水平或垂直排列),可以使用`LinearLayout`的`addView()`方法。首先,你需要创建一个新的控件实例,例如`Button`,...
在资源中的“动态生成多个图片控件”可能是实现这个功能的Java或Kotlin源代码文件。通常,这类代码会包含以下步骤: 1. **创建ImageView对象**:使用`new ImageView(context)`来创建一个ImageView实例,其中context...