Я пытаюсь создать относительную компоновку с помощью java. Я бы вставлял логотип в TOP, делился на FOOTER и некоторая информация по середине.Создание относительной компоновки (программно) с большим количеством полей
На данный момент все компоненты попадают на FOOTER, даже если я передаю параметры в заголовок сверху.
Мой Java-код:
package com.clubee.vote;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class ResultadoFalho extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.resultadofalho);
Bitmap bitmapTop = BitmapFactory.decodeResource(getResources(),R.drawable.bkg_app);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sharing);
RelativeLayout layoutLogo = (RelativeLayout) findViewById(R.id.ibresultadoFalho);
RelativeLayout.LayoutParams paramsLogo = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
ImageView bkgLogo = new ImageView(this);
bkgLogo.setLayoutParams(paramsLogo);
bkgLogo.setImageBitmap(bitmapTop);
layoutLogo.setGravity(Gravity.TOP| Gravity.CENTER_VERTICAL);
layoutLogo.addView(bkgLogo);
RelativeLayout layout = (RelativeLayout) findViewById(R.id.ibresultadoFalho);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
ImageButton sharingButton = new ImageButton(this);
sharingButton.setLayoutParams(params);
sharingButton.setImageBitmap(bitmap);
layout.setGravity(Gravity.CENTER_VERTICAL | Gravity.BOTTOM);
layout.addView(sharingButton);
sharingButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
shareIt();
}
});
}
private void shareIt() {
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
String shareBody = "Eu votei! E você, já opinou sobre a atual gestão da presidente do Brasil?";
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Vote, Opine, Compartilhe");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, "Compartilhar"));
}
}
Моя активность XML просто ...
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ibresultadoFalho"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="#fffcfffa">
</RelativeLayout>
Почему вы используете height wrap_content для всех ваших элементов? И для будущего: попытайтесь построить свои макеты в xml! Это намного проще и проще, чем создавать его из java. Обычно элементы представления должны создаваться в java только тогда, когда вы имеете дело с динамическим отображением. –
Здравствуйте, @IspasClaudiu. Я делаю это только для учебы. Я новичок в Android-разработчике. – Barcat