我是android开发的新手。我试图垂直对齐我的页面元素,但无法做到这一点。我不知道,我如何在Java中使用前端布局控件。
我的main.xml文件如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<!--<View-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="30dip"/>-->
<TextView
android:text="@string/getVerse"
android:layout_width="wrap_content"
android:layout_height="100dip"
android:textSize="@dimen/header"
android:layout_gravity="center_horizontal"
/>
<!--<View-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="20dip"-->
<!--/>-->
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/questionSize"
android:hint="@string/questionHint"
/>
<!--<View-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="25dip"-->
<!--/>-->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/buttonTextSize"
android:text="@string/buttonText">
</Button>
</LinearLayout>
页面如下:
请帮帮我!!!
答案 0 :(得分:5)
只需在android:orientation="vertical"
中使用LinearLayout
属性即可。您将获得对齐Horizontally
的元素,因为这是android提供的默认值。
执行此操作后的代码如下所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<!--<View-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="30dip"/>-->
<TextView
android:text="@string/getVerse"
android:layout_width="wrap_content"
android:layout_height="100dip"
android:textSize="@dimen/header"
android:layout_gravity="center_horizontal"
/>
<!--<View-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="20dip"-->
<!--/>-->
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/questionSize"
android:hint="@string/questionHint"
/>
<!--<View-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="25dip"-->
<!--/>-->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/buttonTextSize"
android:text="@string/buttonText">
</Button>
</LinearLayout>
希望这有帮助!
答案 1 :(得分:3)
将以下代码添加到您的父级LinearLayout
android:orientation="vertical"
在活动中显示Gif:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GifView(this));
}
static class GifView extends View {
Movie movie;
GifView(Context context) {
super(context);
File myFile = new File("/sdcard/test.gif");
InputStream fis = null;
try {
fis = new BufferedInputStream(new FileInputStream(myFile),
16 * 1024);
fis.mark(16 * 1024);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
movie = Movie.decodeStream(fis);
Log.e("SS", "movie.duration()" + movie.duration());
}
@Override
protected void onDraw(Canvas canvas) {
try {
if (movie != null) {
movie.setTime((int) SystemClock.uptimeMillis()
% movie.duration());
movie.draw(canvas, 0, 0);
invalidate();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}