标签: android-layout

LayoutInflater attachToRoot参数是什么意思?

LayoutInflater.inflate文档是不看好的目的十分清楚我的attachToRoot参数.

attachToRoot:膨胀的层次结构是否应附加到根参数?如果为false,则root仅用于为XML中的根视图创建LayoutParams的正确子类.

有人可以更详细地解释,特别是根视图是什么,并且可能显示一个行为truefalse值之间的变化的例子?

android android-layout layout-inflater android-view

169
推荐指数
9
解决办法
5万
查看次数

Android布局在运行时用另一个视图替换视图

我有一个xml-layout文件main,有两个textview A/B和一个视图C.我还有两个xml-layout文件option1option2.是否可以通过Java将任何一个option1option2在运行时加载到C中?如果是这样,我必须使用什么功能?

android android-layout

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

为什么LayoutInflater会忽略我指定的layout_width和layout_height布局参数?

我很难让LayoutInflater按预期工作,其他人也是如此:如何使用layoutinflator在运行时添加视图?.

为什么LayoutInflater会忽略我指定的布局参数?例如,为什么我的资源XML中的值layout_widthlayout_height值不受尊重?

android android-layout

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

禁用NumberPicker上的软键盘

我正在尝试在使用NumberPicker输入数值时停用软键盘(出于美观原因).这是我的layout-xml代码:

<?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="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="30dp"
        android:layout_marginTop="30dp" >

        <NumberPicker
            android:id="@+id/repetitionPicker"
            android:layout_width="40dp"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="@string/repetitions_short_divider"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <NumberPicker
            android:id="@+id/weightPicker"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="40dp" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="@string/pounds"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>


    <Button
        android:id="@+id/saveButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/save" />

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

最后这是我尝试在onCreate() - 方法中阻止键盘的代码:

// hide keyboard
View.OnClickListener disableKeyBoardListener = new View.OnClickListener() {
    public void onClick(View v) {
        ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
                .hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }
};

((EditText) weightPicker.getChildAt(1)).setInputType(InputType.TYPE_NULL);
((EditText) …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-layout android-softkeyboard android-edittext

165
推荐指数
5
解决办法
5万
查看次数

Android Lollipop CardView上的涟漪效应

我试图让CardView时,通过设置在Android触摸显示连锁反应:所描述的行为在XML文件中backgound属性这里 Android开发者页面上,但它不工作.根本没有动画,但是调用onClick中的方法.我也尝试过按照这里的建议创建一个ripple.xml文件,但结果相同.

CardView出现在活动的XML文件中:

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="155dp"
    android:layout_height="230dp"
    android:elevation="4dp"
    android:translationZ="5dp"
    android:clickable="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:onClick="showNotices"
    android:background="?android:attr/selectableItemBackground"
    android:id="@+id/notices_card"
    card_view:cardCornerRadius="2dp">

</android.support.v7.widget.CardView> 
Run Code Online (Sandbox Code Playgroud)

我对android开发比较陌生,所以我可能会犯一些明显的错误.
提前致谢.

android android-layout android-cardview android-5.0-lollipop

164
推荐指数
8
解决办法
10万
查看次数

forceLayout(),requestLayout()和invalidate()的用法

我有点困惑的角色forceLayout(),requestLayout()以及invalidate()该方法的View类.

他们何时被召唤?

android android-layout android-view

163
推荐指数
4
解决办法
8万
查看次数

调整浮动操作按钮(fab)的图标大小

浮动按钮 新的浮动操作按钮应为56dp x 56dp,其中的图标应为24dp x 24dp.所以图标和按钮之间的空间应该是16dp.

<ImageButton
    android:id="@+id/fab_add"
    android:layout_width="56dp"
    android:layout_height="56dp"
    android:layout_gravity="bottom|right"
    android:layout_marginBottom="16dp"
    android:layout_marginRight="16dp"
    android:background="@drawable/ripple_oval"
    android:elevation="8dp"
    android:src="@drawable/ic_add_black_48dp" />
Run Code Online (Sandbox Code Playgroud)

ripple_oval.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item>
        <shape android:shape="oval">
            <solid android:color="?android:colorAccent" />
        </shape>
    </item>
</ripple>
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果:
浮动按钮结果
我使用了\ material-design-icons-1.0.0\content\drawable-hdpi\ic_add_black_48dp.png中的图标
https://github.com/google/material-design-icons/releases/tag/1.0.1

如何使按钮内的图标大小完全如指南中所述?

http://www.google.com/design/spec/components/buttons.html#buttons-floating-action-button

android android-layout android-icons android-drawable floating-action-button

160
推荐指数
10
解决办法
16万
查看次数

什么是'app'Android XML命名空间?

这是app我从res/menu/main.xml文件中看到的命名空间的示例

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity" >
<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    app:showAsAction="never" />
</menu>
Run Code Online (Sandbox Code Playgroud)

app命名空间的用途是什么?它是"标准"Android XML命名空间吗?是否有相同的值选项可用于放置在两个不同命名空间中的相同属性(例如app:showAsActionandroid:showAsAction).

来自文档: android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]

即,如果属性是相反的,上面示例中的行是否意味着其他内容:

android:showAsAction="never"
Run Code Online (Sandbox Code Playgroud)

它几乎看起来可能是某种"子类化"机制,但我似乎无法app从Google/Android源代码中找到关于命名空间的任何真实文档.

xml android xml-namespaces android-layout android-tools-namespace

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

一个活动和所有其他碎片

我想实现一个屏幕,Activity和所有其他sreens与Fragmentsmanaging all the fragments thru the activity.

这是个好主意吗?我的答案是否定的,但我仍然想更清楚地了解这个想法.

这个想法的优点和缺点是什么?

注意:

请不要给我片段和活动的链接.

编辑:

这是碎片和活动的一部分:

优点:

  1. 片段旨在与活动一起用作子活动.
  2. 碎片不是活动的替代品.
  3. 碎片意味着可重用性(需要知道可以以何种方式实现可重用性).
  4. 片段是编写代码以支持平板电脑和手机的最佳方式.

缺点:

  1. 我们需要实现接口以从片段中获取数据.
  2. 对于对话,我们必须走很长的路才能展示它.

如果我们不考虑平板电脑,为什么要使用碎片?活动和片段之间的起始时间差是多少?

android android-layout android-lifecycle android-fragments android-activity

157
推荐指数
5
解决办法
6万
查看次数

为什么嵌套权重不利于性能?备择方案?

我写了几个布局文件,我使用该layout_weight属性创建不同视图之间的比率.

在某些时候,我开始获得有关嵌套权重的lint警告.

所以,我不知道为什么是坏的嵌套权重的表现,如果有是创建视图的尺寸之间的恒定比率可用于不同的屏幕尺寸,并且并不需要指定大量维DPI值的更有效的方法通过几个布局文件(我的意思是不同的屏幕尺寸).

谢谢!

performance android android-layout

156
推荐指数
4
解决办法
7万
查看次数