标签: android-view

Android Canvas.drawLine不流畅,不一致

我正在尝试使用Canvas.drawLine方法绘制多边形

这是我正在使用的代码

Canvas canvas = new Canvas(cache);
Paint paint = new Paint();
paint.setStrokeWidth(16);
paint.setColor(this.currentDrawing.getColor());
paint.setFlags(Paint.ANTI_ALIAS_FLAG);
systemCanvas.drawBitmap(cache, 0, 0, paint);
paint.setStrokeCap(Cap.ROOUND);
canvas.drawLine(from.getLeft(), from.getTop(), to.getLeft(), to.getTop(), paint);
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

在此输入图像描述

注意线条渲染的方式,它们在圆形形状上打破并且不能平滑地连接.我明白为什么会这样,但我不知道如何使它顺利和一致.

任何帮助表示赞赏.

android android-canvas android-view

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

究竟什么被视为"视图"?

刚刚完成开始教程,虽然我的应用运行正常,但我只是想确保我的Android术语正确.

例如,我经历的第一个应用程序教程是否修改了activity_main.xml以包含:

<EditText android:id="@+id/edit_message"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:hint="@string/edit_message"
    android:layout_weight="1" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage" />
Run Code Online (Sandbox Code Playgroud)

我是否理解这些(EditText,Button)元素本身是单独的视图?换句话说,上面的代码包含两个"视图",而不是两个"控件"?稍后在代码中我们遇到了一个名为TextView的东西,它直接在其中包含"View"一词,而其他的则没有,这有点让我失望.

我唯一的另一个经验是ASP.Net和C#web开发,所以我想我的问题可以表达为,Android"Views"相当于ASP.Net Web Controls(asp:DropDownList,asp:Button等)?如果我想在上面的代码中添加更多控件,比如更多按钮,我会说,"我要为这个布局添加更多视图?" 或者是,"我要为这个视图添加更多控件?" 要么...?

android terminology android-view

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

如何理解android完成绘制视图?

可能重复:
活动何时完成绘图?

我想知道视图何时完成绘图,这可能吗?如果android完成了绘制视图,我怎么能理解?

android android-view

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

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

在LinearLayout中使用Gridview和Button

我尝试在linearlayout的gridview下面添加按钮,代码如下.但是当我执行我的应用程序时,我只看到gridview没有按钮项目.所以它可能是基本的错误,但我看不到它.

<?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="horizontal"
            android:background="#2a2a2a"
         >
            <GridView 
                    android:id="@+id/grid_view"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:columnWidth="150dp"
                    android:numColumns="auto_fit"
                    android:horizontalSpacing="10dp"
                    android:verticalSpacing="10dp"
                    android:stretchMode="columnWidth"
                    android:gravity="center"></GridView>
            <Button 
                    android:id="@+id/button1" 
                    android:layout_width="wrap_content" 
                    android:layout_height="50dp" 
                    android:text="@string/cam_string" />

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

android android-layout android-view

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

Android:无法在XML中实例化自定义视图

我有一个自定义视图(CoordinateGridView),我在XML布局(activity_trajectory.xml)中使用:

  <com.android.catvehicle.CoordinateGridView
        android:id="@+id/coordinateGrid"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true" />
Run Code Online (Sandbox Code Playgroud)

我在图形编辑器中收到此错误:**.CoordinateGridView无法实例化.

Android图形编辑器出错http://i42.tinypic.com/2w3b9f5.png

这是我在自定义视图中的构造函数:

public CoordinateGridView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setFocusable(true);
        setFocusableInTouchMode(true);
        this.setOnTouchListener(this);
        hostActivity = (TrajectoryActivity) this.getContext();
}
Run Code Online (Sandbox Code Playgroud)

这是我在其中使用CoordinateGridView设置布局的Activity:

public class TrajectoryActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        removeActionBar();
        setContentView(R.layout.activity_trajectory);
        initializeViews();
        loadSettings();
    }
}
Run Code Online (Sandbox Code Playgroud)

有关这个问题的任何想法吗?由于我的自定义视图阻止了布局中的所有其他视图,因此无法在图形编辑器中看到任何内容令人沮丧...

eclipse android android-layout android-view

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

场景与片段和视图

背景

在过去,谷歌提出了碎片类(我也问过我们何时应该使用它,这里).

现在,Android 4.4有一个名为" Scene " 的新框架类.

根据我所读过的内容(并在讲座中观看,例如此处),它应该可以帮助您处理状态之间的动画和过渡.

这个问题

其实我有几个问题:

  1. 在哪些情况下我会知道何时使用它?它仅适用于动画并被视为您应用的"奖励"吗?或者它是否也提供了像碎片和活动这样的逻辑?

  2. 使用它和为动画制作每个视图设置动画有什么区别?

  3. 这有官方样品吗?

  4. 是否有任何兼容性库,要在4.4之前的版本上使用它?

android transitions android-fragments android-view

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

SYSTEM_UI_FLAG_LAYOUT_STABLE和SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN做了什么

简单来说,下面的语句在添加到活动时会做什么?

getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)

android android-view

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

如何获取Activity的视图?

我有以下方法,我想展示一个Snackbar.问题是,我没有我的活动view,我不知道如何得到它.在代码中,你会发现Snackbar viewviewInflate_setup,但它不工作.我知道它不起作用,因为这是我的视图,alertdialog而不是我当前的屏幕.我已经尝试了root view但是然后snackbar显示在错误的地方(在这三个android按钮后面).我如何获得我的活动View

public void confirmPassword(){
        final LayoutInflater inflateSetup = getLayoutInflater();
        final View viewInflate_setup = inflateSetup.inflate(R.layout.inflate_setup, null);

        AlertDialog.Builder alertSetup = new AlertDialog.Builder(this);
        alertSetup.setView(viewInflate_setup);
        final AlertDialog dialogSetup = alertSetup.create();
        dialogSetup.show();

        btnConfirmPassowod = (Button)viewInflate_setup.findViewById(R.id.btnConfirm);
        btnConfirmPassowod.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View v) {
                System.out.println("User has clicked the [confirm] button");
                dialogSetup.setCancelable(false);
                edtPassword3 = (EditText)viewInflate_setup.findViewById(R.id.edtPassword3);
                SUpassword3 = edtPassword3.getText().toString();

                final ParseUser beforeConfirmPassword = ParseUser.getCurrentUser();
                ParseUser.logInInBackground(beforeConfirmPassword.getUsername(), SUpassword3, new LogInCallback() …
Run Code Online (Sandbox Code Playgroud)

java android android-alertdialog android-view

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

图标和NavigationView之间的左边距

我必须在图标和NavigationView图像中的箭头之间添加左边距:

在此输入图像描述

我知道根据谷歌的规格,这个保证金必须有,16dp但我需要改变它.我试过了:

 <dimen tools:override="true" name="design_navigation_icon_padding">64dp</dimen>
 <dimen tools:override="true" name="design_navigation_separator_vertical_padding">20dp</dimen>
Run Code Online (Sandbox Code Playgroud)

但仍然没有工作.有任何想法吗?

java android android-layout android-view navigationview

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