标签: android-linearlayout

Android - Relativelayout中ScrollView中的LinearLayout

布局有点问题.我已经创建了RelativeLayout,其中我放置了两个LinearLayouts(1和2),并在它们之间使用LinearLayout ScrollView.接下来,我将ScrollView设置为在linearLayout2和linearLayout1之上.但ScrollView中的LinearLayout未设置为其父级.

这是代码,也许我犯了一个错误:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"        
        android:padding="6dip"
        android:layout_alignParentTop="true"
        android:id="@+id/lin1"
        android:layout_weight="1">

</LinearLayout>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_alignParentBottom="true"
        android:layout_weight="1" android:id="@+id/lin3" 
        android:layout_height="60dip">          

</LinearLayout>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:scrollbars="horizontal"
android:layout_below="@id/lin1"
android:layout_above="@id/lin3" android:id="@+id/ScrollView">

<LinearLayout
        android:layout_width="fill_parent"                      
        android:orientation="vertical"
        android:id="@+id/lin2" 
        android:layout_height="fill_parent"  
        android:layout_gravity="center_vertical|center_horizontal">

    <Button android:text="@string/button1" 
        android:id="@+id/button1" 
        android:layout_gravity="center" 
        android:layout_width="280dip" 
        android:layout_height="60dip">
    </Button>

    <Button android:text="@string/button2"
        android:id="@+id/button2" 
        android:layout_gravity="center" 
        android:layout_width="280dip" 
        android:layout_height="60dip">
    </Button>

    <Button android:text="@string/button3" 
        android:id="@+id/button3" 
        android:layout_gravity="center" 
        android:layout_width="280dip" 
        android:layout_height="60dip">
    </Button>

    <Button android:text="@string/button4"
        android:id="@+id/button4" 
        android:layout_gravity="center" 
        android:layout_width="280dip" 
        android:layout_height="60dip">
    </Button>


</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

任何想法,为什么ScrollView中的LinearLayout比ScrollView更大?

编辑:到目前为止,我已经注意到当我设置layout_gravity ="center_vertical"时,ScrollView内部的LinearLayout移动到外面.看起来设置中心是指主要布局(RelativeLayout).

android scrollview relativelayout android-linearlayout

3
推荐指数
1
解决办法
1万
查看次数

如何使线性布局horizo​​ntall可滚动

我的应用程序包含不同的layouts.one是一个线性layout.it的内容是动态添加.我想使这个布局水平滚动.为此我已将我的布局放在滚动视图中.但它仍然不滚动...下面给出的是我的代码

 <LinearLayout android:id="@+id/scoreballparent_layout"
  android:layout_height="wrap_content"
  android:orientation="horizontal"
   android:layout_width="fill_parent"
  android:layout_above="@+id/score_layout">
  <ScrollView android:layout_height="wrap_content" 
  android:id="@+id/scrollView1" 
  android:layout_width="fill_parent" 
  >
      <LinearLayout android:layout_width="fill_parent" 
      android:id="@+id/scoreball_layout" 
      android:layout_height="wrap_content"
      android:isScrollContainer="true" 
      android:scrollbars="horizontal">

         </LinearLayout>
     </ScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android horizontal-scrolling android-linearlayout

3
推荐指数
1
解决办法
3761
查看次数

与Android边缘对齐屏幕右侧

我在RelativeLayout中有一个Linearlayout,我试图用边距对齐到屏幕的最右边.例:

在此输入图像描述

我应该如何修改LinearLayout的属性来实现这一目标?谢谢

这是XML文件(应该向右对齐的LinearLayout的名称是slide_right):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="top"
    tools:context=".MainActivity" >

    <WebView android:id="@+id/webview"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"/>

     <LinearLayout
        android:id="@+id/slide_left"
        android:layout_width="400dp"
        android:layout_height="550dp"
        android:layout_marginLeft="-367dp"
        android:layout_marginTop="150dp"
        android:background="@drawable/left_slide"
        android:orientation="vertical" >

    </LinearLayout>

    <LinearLayout
        android:id="@+id/slide_right"
        android:layout_width="400dp"
        android:layout_height="550dp"
       android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="-30dp"
        android:orientation="horizontal" 
        android:background="@drawable/right_slide">

    </LinearLayout>

    <LinearLayout
        android:id="@+id/header_linear_l"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/mapbt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/mapbt" />

        <ImageButton
            android:id="@+id/profilebt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/profilebt" />



        <ImageButton
            android:id="@+id/settingsbt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/settingsbt" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <ImageButton
                    android:id="@+id/optionalbt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/optionbt" />

                <ImageButton
                    android:id="@+id/lvlbt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

android relativelayout android-layout android-linearlayout

3
推荐指数
1
解决办法
3467
查看次数

首选Android中的线性布局或相对布局

我正在编写一个包含一定数量活动的应用程序.我们如何确定活动是需要线性布局还是相对布局?

android relativelayout android-layout android-linearlayout

3
推荐指数
1
解决办法
5356
查看次数

是否可以将按钮添加到以编程方式设置的framelayout?

这有点难以描述,但我会尽我所能:

我正在开发一个使用自定义相机活动的Android应用程序.在此相机活动中,我使用以编程方式创建表面视图并将其设置为在xml布局文件中定义的framelayout(覆盖全屏).

我现在的问题是,如何在框架布局中添加其他元素?只能以编程方式?我问,因为到目前为止,我只能以编程方式添加其他元素.我在xml布局中添加的元素没有出现在屏幕上.它们可能只是我添加到框架布局的表面视图的后面吗?如果是这样,是否可以将它们带到前线?

感谢你们!

java android android-linearlayout android-framelayout

3
推荐指数
1
解决办法
6386
查看次数

Android在“ RelativeLayout” /“ Linear Layout”上“添加垂直线”

我已经阅读了有关在Android中添加垂直线的其他问题,这是我的问题

  1. 我可以在主RelativeLayout下添加一条垂直线作为“视图”,但是在子RelativeLayout中却无法做到。

垂直线代码

<View
android:id="@+id/verticalSeperatorHours"
android:layout_width="1dip"
android:layout_height="match_parent"
android:background="@color/medium_dark_gray" 
/>
Run Code Online (Sandbox Code Playgroud)

水平线代码:

<LinearLayout
            android:id="@+id/currentTimeMarkerLinearLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="100dp"
            android:baselineAligned="false"
            android:orientation="horizontal"
            android:padding="0dp" >

            <View
                android:layout_width="0dp"
                android:layout_height="3dp"
                android:layout_weight="1" />

            <View
                android:id="@+id/currentTimeLineView"
                android:layout_width="0dp"
                android:layout_height="1dp"
                android:layout_weight="14"
                android:background="@color/strong_blue" />
        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我的结构xml:

  • 相对布局
    • 线性布局
    • 滚动视图
      • 相对布局
        • 相对布局
        • “添加垂直线不起作用”
        • “添加一条水平线有效”
  • 线性布局
  • 在此处添加垂直线有效,但不是我想要的”

没有出现水平线的LinearLayout之后的“视图”。我意识到我不了解android布局的结构,因此有人可以向我解释它的工作原理。

完整版式:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:arm="http://schemas.android.com/apk/res/edu.cmu.sv.arm"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="0dp" >

<LinearLayout ...


<View
    android:id="@+id/dividerView"
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:layout_below="@+id/dayLabelsLinearLayout"
    android:background="@color/medium_gray" />

<ScrollView
    android:id="@+id/calendarScrollView"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/dividerView"
    android:layout_alignParentBottom="true"
    android:overScrollMode="never"
    android:padding="0dp"
    android:scrollbars="none"
    android:fadingEdge="none" >

    <RelativeLayout
        android:id="@+id/calendarRelativeLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

android relativelayout android-layout android-linearlayout

3
推荐指数
1
解决办法
2万
查看次数

如何在水平LinearLayout中将元素右对齐?

我有一个LinearLayout包含了很多TextViewsImageButtons我要对齐的一些元素向右的,我看了一眼这个这个,但我不能用自己的技巧,因为我不能改变orientation,不能使android.gravity:right作为我不想将所有元素对齐,我也不能使用嵌套布局或所需元素,RelativeLayout因为它将其余元素向左移动,我希望它们位于中心.

这是我的代码:

 <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="0.15"
            android:layout_marginTop="10dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:background="@drawable/media_mediabar"
            android:orientation="horizontal" >

            <ImageButton
                android:id="@+id/move_backward"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:background="@android:color/transparent"
                android:clickable="true"
                android:scaleType="centerInside"
                android:src="@drawable/media_button_rewind"
                android:layout_marginLeft="7dp"
                android:layout_marginRight="7dp"
                android:tag="released"/>

           <ImageButton
                android:id="@+id/rmeote_mines"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:background="@android:color/transparent"
                android:clickable="true"
                android:scaleType="centerInside"
                android:src="@drawable/remote_minus" />


          <TextView 
                android:id="@+id/remote_plus_minus"
                android:text="0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@android:color/white"
                android:layout_gravity="center"
                android:layout_marginTop="15dp"
                android:layout_marginBottom="15dp" />
            .
            .
            .<!.. some other elements ..!>
        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

期望的结果:

在此输入图像描述

android android-layout android-linearlayout android-orientation layout-gravity

3
推荐指数
2
解决办法
3万
查看次数

Android xml中的ImageButton(图像太小,分辨率太差)

我有3个图像按钮的以下内容.代码如下所示,三个按钮看起来相同.问题:

  1. 图像未完全填充按钮的大小
  2. 图像的分辨率很差.我将图像保存在所有res/drawable文件夹中(drawable-hdpi,mdpi等).图像由"Android Icon Set"向导加载.

有任何想法吗?我一直在玩padding和scaleType,因为我把它们视为其他帖子的解决方案.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_marginTop="10dp"
    android:orientation="vertical">

<ImageButton
    android:id="@+id/abutton"
    android:src="@drawable/a_button_icon"
    android:layout_height="150dp" 
    android:layout_width="150dp" 
    android:padding="5dp"
    android:scaleType="fitXY"/>

<ImageButton
    android:id="@+id/button"        
    android:src="@drawable/b_button_icon"
    android:layout_height="150dp" 
    android:layout_width="150dp" 
    android:scaleType="fitXY"/>

 </LinearLayout>

 <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:layout_marginTop="10dp"> 

<ImageButton
    android:id="@+id/cbutton"        
    android:src="@drawable/d_icon"
    android:layout_height="150dp" 
    android:layout_width="150dp" 
    android:padding="20dp"
    android:scaleType="fitXY"/>

<ImageButton
    android:id="@+id/dbutton"        
    android:src="@drawable/about_a_button"
    android:layout_height="150dp" 
    android:layout_width="150dp" 
    android:padding="20dp"
    android:scaleType="fitXY"/>

    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android imagebutton android-linearlayout

3
推荐指数
1
解决办法
5074
查看次数

以编程方式设置LinearLayout的minHeight

这是我的代码.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:minHeight="1000dp">
<android.support.v7.widget.CardView
                    xmlns:card_view="http://schemas.android.com/apk/res-auto"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:layout_marginLeft="16dp"
                    android:layout_marginRight="16dp"
                    card_view:cardCornerRadius="2dp"
                    card_view:cardElevation="2dp">
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
                    xmlns:card_view="http://schemas.android.com/apk/res-auto"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:layout_marginLeft="16dp"
                    android:layout_marginRight="16dp"
                    card_view:cardCornerRadius="2dp"
                    card_view:cardElevation="2dp">
</android.support.v7.widget.CardView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我在xml中设置了线性布局的minHeight.但我想以编程方式设置它.我在这种线性布局中有两张牌.而且我想设置我的了minHeight两张牌高度的基础上.

android android-layout android-linearlayout android-cardview

3
推荐指数
1
解决办法
6132
查看次数

Android上的Admob:加载前未保留横幅空间

我们在Android应用程序上使用AdMob已有4年以上。在最后几天,我们在未修改任何代码的情况下遇到了AdMob的问题。

从下图可以看出:

  • 以前,横幅广告空间是在横幅广告加载之前被保留的
  • 现在,横幅广告空间不会在加载前保留,这给用户带来了非常烦人的体验,用户会看到横幅广告在加载后内容向下移动

在此处输入图片说明

===

这是我们实现的描述:

我们将我们的横幅广告放在片段屏幕顶部的20%左右,放在LinearLayout“ banner_container”中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
....
<LinearLayout android:id="@+id/banner_container"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
....
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在Fragment的“ onCreateView”上,我们将横幅添加到容器中

@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

...

adView = new AdView(getActivity()); 
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(AD_UNIT_ID);

LinearLayout mBannerContainer = rootView.findViewById(R.id.banner_container); 
mBannerContainer.setVisibility(View.VISIBLE); 
mBannerContainer.addView(adView);

AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .build();

adView.loadAd(adRequest);

...

}
Run Code Online (Sandbox Code Playgroud)

===

我们如何回到加载时已经预留横幅空间的情况?

android fragment admob android-linearlayout

3
推荐指数
1
解决办法
476
查看次数