以编程方式:顶部的Android ListView和底部的EditText&Button(Programatically: Android ListView at top and EditText & Button at bottom)
这是我到目前为止的代码。 我应该改变什么,使它看起来像下面的ASCII艺术?
private RelativeLayout mMainLayout; private LinearLayout mButtonLayout; private ListView mListView; private EditText mMessageInput; private Button mSendButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mMainLayout = new RelativeLayout(this); mMainLayout.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); setContentView(mMainLayout); mMainLayout.setGravity(Gravity.BOTTOM); mListView = new ListView(this); mMainLayout.addView(mListView, 0); mButtonLayout = new LinearLayout(this); mButtonLayout.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 2f)); mMessageInput = new EditText(this); mMessageInput.setMinimumHeight(200); mButtonLayout.addView(mMessageInput, 0); mSendButton = new Button(this); mSendButton.setText(R.string.send); mSendButton.setOnClickListener(this); mButtonLayout.addView(mSendButton, 1); mMainLayout.addView(mButtonLayout, 1); } ------------------------- |ListView | | | | | | | | | | | | | | | | | ------------------------- | EditText |Button | -------------------------Here is the code that I have so far. What should I change so that it looks like the ASCII art below?
private RelativeLayout mMainLayout; private LinearLayout mButtonLayout; private ListView mListView; private EditText mMessageInput; private Button mSendButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mMainLayout = new RelativeLayout(this); mMainLayout.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); setContentView(mMainLayout); mMainLayout.setGravity(Gravity.BOTTOM); mListView = new ListView(this); mMainLayout.addView(mListView, 0); mButtonLayout = new LinearLayout(this); mButtonLayout.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 2f)); mMessageInput = new EditText(this); mMessageInput.setMinimumHeight(200); mButtonLayout.addView(mMessageInput, 0); mSendButton = new Button(this); mSendButton.setText(R.string.send); mSendButton.setOnClickListener(this); mButtonLayout.addView(mSendButton, 1); mMainLayout.addView(mButtonLayout, 1); } ------------------------- |ListView | | | | | | | | | | | | | | | | | ------------------------- | EditText |Button | -------------------------最满意答案
private LinearLayout mMainLayout; private LinearLayout mButtonLayout; private ListView mListView; private EditText mMessageInput; private Button mSendButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mMainLayout = new LinearLayout(this); mMainLayout.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); mMainLayout.setOrientation(LinearLayout.VERTICAL); setContentView(mMainLayout); mMainLayout.setGravity(Gravity.BOTTOM); mButtonLayout = new LinearLayout(this); mButtonLayout.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 2f)); mMessageInput = new EditText(this); mMessageInput.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f)); mButtonLayout.addView(mMessageInput, 0); mSendButton = new Button(this); mSendButton.setText(R.string.send); mSendButton.setOnClickListener(this); mSendButton.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 3f)); mSendButton.setMinHeight(300); mButtonLayout.addView(mSendButton, 1); mMainLayout.addView(mButtonLayout, 1); mListView = new ListView(this); mListView.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1f)); mMainLayout.addView(mListView, 0);您应该像上面的代码一样从下到上进行布局。 所以首先在布局中添加底部的两个按钮然后添加列表视图。 我希望它对你有所帮助。
private LinearLayout mMainLayout; private LinearLayout mButtonLayout; private ListView mListView; private EditText mMessageInput; private Button mSendButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mMainLayout = new LinearLayout(this); mMainLayout.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); mMainLayout.setOrientation(LinearLayout.VERTICAL); setContentView(mMainLayout); mMainLayout.setGravity(Gravity.BOTTOM); mButtonLayout = new LinearLayout(this); mButtonLayout.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 2f)); mMessageInput = new EditText(this); mMessageInput.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f)); mButtonLayout.addView(mMessageInput, 0); mSendButton = new Button(this); mSendButton.setText(R.string.send); mSendButton.setOnClickListener(this); mSendButton.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 3f)); mSendButton.setMinHeight(300); mButtonLayout.addView(mSendButton, 1); mMainLayout.addView(mButtonLayout, 1); mListView = new ListView(this); mListView.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1f)); mMainLayout.addView(mListView, 0);You should make your layout from bottom to top like above code. so first add bottom two button in layout then add list view. I hope its helpful to you.
更多推荐
发布评论