我是Android新手,我试图用2个按钮创建一个MainActivity屏幕,1是"对于父母"和#34;对于儿童"。到目前为止,我的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dip"
android:text="For parent"
android:id="@+id/parent"
android:layout_gravity="center_horizontal" />
<Button
android:paddingBottom="10dip"
android:text="For parent"
android:id="@+id/children"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerInParent="true"/>
</LinearLayout>
我有一个背景图片,我希望它成为此活动的背景,并且2个按钮将位于其顶部。我如何存档?什么应该是背景图像的大小?
谢谢
答案 0 :(得分:0)
它可以是类似下面的内容(imageview被拉伸到整个视图并且后退,因此它将像背景图像一样):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="your_drawable"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dip"
android:text="For parent"
android:id="@+id/parent"
android:layout_gravity="center_horizontal" />
<Button
android:paddingBottom="10dip"
android:text="For children"
android:id="@+id/children"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerInParent="true"/>
</RelativeLayout>
答案 1 :(得分:0)
设置根ViewGroup的背景属性。
将此更改为
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
到这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher"
android:scaleType = "centerCrop"
android:orientation="vertical">
答案 2 :(得分:0)
您唯一需要做的就是在布局属性中添加下一行:
&#34; android:background =&#34; @ drawable / image&#34;
请记住,您需要将背景图像放入可绘制文件夹中。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/image" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dip"
android:text="For parent"
android:id="@+id/parent"
android:layout_gravity="center_horizontal" />
<Button
android:paddingBottom="10dip"
android:text="For parent"
android:id="@+id/children"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerInParent="true"/>
</LinearLayout>
答案 3 :(得分:0)
将图片放入drawable
文件夹。然后将其添加为LinearLayout
的背景,其属性为android:background="@drawable/your_image"
。您可以将不同的图片尺寸放入适当的可绘制文件夹,例如drawable-hdpi
,drawable-xhdpi
等。您可以阅读有关支持不同屏幕here的信息。
对于简单的颜色和渐变,您可以使用Shape Drawable,对于真实图像,我建议您将图像视图添加到布局(而不是RelativeLayout
),将图像设置为ImageView
的来源并设置适当的scaleType
(fe centerCrop)。
布局层次结构:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView"
android:src="@drawable/your_drawable"
android:scaleType="centerCrop"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2"
android:layout_below="@+id/button"/>
</RelativeLayout>
答案 4 :(得分:0)
您应该在Android开发者处查看Drawable Resources。他们在那里解释了
位图文件是.png,.jpg或.gif文件。当您将它们保存在res / drawable /目录中时,Android会为这些文件中的任何文件创建一个Drawable资源。
因此,您应该导入图像并将其放在/ res / drawable /文件夹中。请记住不同的屏幕尺寸。
您正在寻找的android xml表示法称为 android:background 。在您的代码中,它看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/your_background"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dip"
android:text="For parent"
android:id="@+id/parent"
android:layout_gravity="center_horizontal" />
<Button
android:paddingBottom="10dip"
android:text="For parent"
android:id="@+id/children"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerInParent="true"/>
</LinearLayout>
另一个替代方案是添加填充整个背景的ImageView(但此ImageView受其父LayoutParams影响,例如Margin)。使用ImageView可以更自由地处理图像,例如,将ScaleType设置为适合布局的中心。