标签: android-layout

使用XML drawable的垂直线

我试图弄清楚如何定义一条垂直线(1dp厚)用作drawable.

要做一个横向的,它非常简单:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
    <stroke android:width="1dp" android:color="#0000FF"/>
    <size android:height="50dp" />     
</shape>
Run Code Online (Sandbox Code Playgroud)

问题是,如何使这条线垂直?

是的,有一些解决方法,例如绘制1px厚的矩形形状,但如果它由多个<item>元素组成,则会使可绘制XML变得复杂.

有没有机会这个?

UPDATE

案件仍未解决.但是,对于Android文档运动中的任何人 - 您可能会发现这很有用: 缺少Android XML手册

UPDATE

除了我标记为正确的那个之外,我找不到别的办法.它虽然感觉有点"沉重",但如果你碰巧知道答案不要忘记分享;)

android line android-layout android-xml android-drawable

146
推荐指数
8
解决办法
22万
查看次数

如何在TextView中添加项目符号?

我有一个TextView,我想通过XML在我的文本中添加一个项目符号.可能吗?

android special-characters textview android-layout

146
推荐指数
8
解决办法
12万
查看次数

在Intellij IDEA/Android Studio中使用合并根标签预览布局

让我们假设我们正在开发基于LinearLayout的复合组件.所以,我们创建这样的类:

public class SomeView extends LinearLayout {
    public SomeView(Context context, AttributeSet attrs) {
        super(context, attrs);

        setOrientation(LinearLayout.VERTICAL);
        View.inflate(context, R.layout.somelayout, this);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我们将使用它LinearLayout作为根somelayout.xml,我们将有额外的视图级别,所以我们使用merge标记:

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

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Some text"
        android:textSize="20sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Some other text"/>
</merge>
Run Code Online (Sandbox Code Playgroud)

但是在IDE中的预览选项卡中,合并始终充当FrameLayout,我们会看到类似的东西: 合并预览

(这是Android Studio,Intellij IDEA也一样,关于Eclipse我不知道)

预览加快了布局的开发速度,即使对于某些布局,它也会失去如此大的帮助.可能有一种方法可以指定,预览应该如何解释merge特定布局中的标签?

android intellij-idea android-layout android-studio android-tools-namespace

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

从android上的操作栏中删除图标/徽标

我一直试图找到一些从操作栏中删除图标/徽标的方法,但我在搜索SO,Android的文档和Google之后发现的唯一一件事就是如何删除整个标题栏.那不是我想要的.只想从标题栏中删除图标/徽标.

谁知道怎么做到这一点?我想在XML中这样做.

xml android titlebar android-layout android-actionbar

145
推荐指数
10
解决办法
14万
查看次数

工具栏重叠在状态栏下方

我希望在我的活动中有appcompat v21工具栏.但我正在实现的工具栏重叠在状态栏下方.我该如何解决?

重叠工具栏

这是活动布局xml:

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

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

工具栏视图:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary" />
Run Code Online (Sandbox Code Playgroud)

主题风格:

<style name="AppTheme" parent="MaterialNavigationDrawerTheme.Light.DarkActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

xml android android-layout

145
推荐指数
6
解决办法
9万
查看次数

在Android中的顶部ListView项目(以及最后一个)上方添加边距

这是关于Android中ListView中项目布局的一个非常好的问题.

我有一个活动,顶部有一个标题栏,ListView占据了屏幕的其余部分.我希望我的ListView在左侧,右侧和顶部显示10dp填充,但是当您向上滚动ListView时,我希望它覆盖顶部10dp填充,然后在褪色边缘消失.同样,当你滚动到底部时,最后一个列表项应该在最后一个列表项的底部和屏幕的实际底部之间显示为10dp(如果你想知道为什么,那是因为我想要一个漂亮的背景图像在ListView周围探索).

我已经尝试将填充添加到ListView本身,但是当您滚动列表时它会在填充的边缘消失.

我来自web开发背景,类比是在第一个列表项(和最后一个列表项下方)之上添加边距.

android android-layout android-listview

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

如何将内容集中在线性布局中?

我试图将ImageView内部LinearLayout水平和垂直居中,但我无法做到.我不使用a的主要原因RelativeLayout是因为我需要layout_weight(我Activity的四列应该被平分,并且还响应不同的屏幕宽度,每列都有一个ImageView居中和未拉伸).

到目前为止,这是我的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:background="#000"
    android:baselineAligned="false"
    android:gravity="center"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Main" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1" >

        <ImageView
            android:id="@+id/imageButton_speak"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/image_bg"
            android:src="@drawable/ic_speak" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1" >

        <ImageView
            android:id="@+id/imageButton_readtext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/image_bg"
            android:src="@drawable/ic_readtext" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1" >

        <ImageView
            android:id="@+id/imageButton_edit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/image_bg"
            android:src="@drawable/ic_edit" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1" >

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

android android-layout android-linearlayout

142
推荐指数
4
解决办法
17万
查看次数

Android - 动态地将视图添加到视图中

我有一个视图布局 -

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0px"
    android:orientation="vertical">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/items_header"
        style="@style/Home.ListHeader" />

    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/items_none"
        android:visibility="gone"
        style="@style/TextBlock"
        android:paddingLeft="6px" />

    <ListView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/items_list" />


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

我想要做的是,在我的主要活动中使用这样的布局

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0px"
    android:id="@+id/item_wrapper">
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我想循环遍历我的数据模型,并将包含第一个布局的多个视图注入主布局.我知道我可以通过在代码中完全构建控件来实现这一点,但我想知道是否有一种方法可以动态构建视图,以便我可以继续使用布局而不是将所有内容都放在代码中.

android view dynamic android-layout

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

java.lang.NullPointerException:尝试在空对象引用上调用虚方法'int android.view.View.getImportantForAccessibility()'

我正在尝试根据输入字段组合购物清单应用程序ArrayList,和ListView.该应用程序将基于Fragments.但是,我遇到了一个问题,我不知道如何解决它.

我浏览了Google和StackOverflow,并找到了一些信息.但是,我没有得到它的工作.现在我希望我可以获得有关代码的帮助.

我在Android开发方面相对缺乏经验.

提前致谢

Main.java

import java.util.ArrayList;

import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuItem;

public class Main extends FragmentActivity {

    ArrayList<Detail> items = new ArrayList<Detail>();
    FragmentManager FM;
    FragmentTransaction FT;
    Input input = new Input();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        replaceFragment(R.id.container, input);
    }


    public void replaceFragment(int container, Fragment fragment){
        FM = getFragmentManager();
        FT = FM.beginTransaction();

        FT.replace(container, fragment);
        FT.commit();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) { …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-listview android-fragments

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

Android的clipToPadding属性有什么作用?

我想知道该clipToPadding属性ViewGroup在Android中的作用是什么?

我一直在浏览文档和一些网站,但我没有遇到任何实际解释它的作用和含义,没有我能真正理解的,所以我认为在这里问它可能是个好主意.

android android-layout

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