我有一個MainActivity
最初是空的。當我點擊「加號」按鈕時,會打開一個DialogFragment
,其中有兩個按鈕(「取消」和「繼續」)和一個EditText
。在EditText
中,您可以編寫項目的名稱(本例爲項目1),然後單擊「繼續」,您可以在運行時創建「項目1」,「播放」按鈕和TextView
「hello」下面的圖片。如何在按鈕旁邊放置一個TextView
我想TextView
「hello」被定位在同一行上的「播放」按鈕旁邊。
這裏是我的代碼:按鈕的
法 「繼續」:
@Override
public void onDialogPositiveClick(DialogFragment dialog) {
EditText editText = (EditText) dialog.getDialog().findViewById(R.id.project_name);
String projectName = editText.getText().toString();
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp1.gravity = Gravity.END;
Button projectButton = new Button(this);
projectButton.setText(projectName);
projectButton.setLayoutParams(lp1);
projectButton.setOnClickListener(projectListener);
LinearLayout.LayoutParams lp2 = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp2.gravity = Gravity.START;
lp2.setMarginStart(10);
Button playButton = new Button(this);
playButton.setBackgroundResource(R.drawable.play_button_green);
playButton.setLayoutParams(lp2);
TextView buttonView = new TextView(this);
buttonView.setText("Hello");
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.button_row);
linearLayout.addView(projectButton);
linearLayout.addView(playButton);
linearLayout.addView(buttonView);
}
MainActivity
XML佈局:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/button_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" >
</LinearLayout>
</RelativeLayout>
整體佈局必須創建動態地使用java代碼而不是XML。 任何人有任何想法?
對於LinearLayout,使用id = button_row將android:orientation =「vertical」更改爲android:orientation =「horizontal」 – 2014-12-02 11:10:08